gpt4 book ai didi

html - 是否可以使用服务器端浏览器检测来确保 IE7 和 IE8 中 html5 语义标签的优雅降级

转载 作者:可可西里 更新时间:2023-11-01 14:53:04 25 4
gpt4 key购买 nike

众所周知html5 semantic tags won't degrade gracefully in IE lesser than version 9 without some help in form of conditional javascript snippet.这意味着使用 IE7 并关闭 javascript 的用户将看到一些丑陋的东西,而不是你 Shiny 的 html5 网站。

我想到了解决这个问题的方法,并提出了以下方法:在服务器端(比如在 mvc View 中)有一些东西:

    OutputHtml5WithFallback("<header>MyHeader</header>", "<div>MyHeader</div>");

并有一个浏览器嗅探代码来确定请求是来自 IE7 还是 IE8。如果浏览器被识别为 IE7 或 IE8,则 html 输出将是

    <div>MyHeader</div>

否则

    <header>MyHeader</header>        

这似乎是一种防欺骗 - 如果任何浏览器伪装成 IE7,它将接收没有任何 html5 元素的 html5 标记。我最担心的是搜索引擎可能不鼓励这种方法(因为不同的 html 是为不同的用户代理提供的)。

您能指出我可能遗漏的其他缺陷吗?

最佳答案

您需要小心代理缓存,否则代理可能会缓存您的 IE7 页面并将其提供给更现代的浏览器,或者缓存您的 HTML5 页面并将其提供给 IE7,您的服务器将永远没有机会提供正确的版本。

除非您的站点已经要求不缓存您的 HTML 页面,否则无论您为避免此问题而采取的任何措施都会增加服务器的负载。

关于html - 是否可以使用服务器端浏览器检测来确保 IE7 和 IE8 中 html5 语义标签的优雅降级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15100149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com