我注意到Facebook这样做,他们在<noscript>
标签中的<head>
中附加了元刷新。他们使用它来检测用户代理是否启用了javascript。
我们考虑使用这种方法有两个原因:
出于上述原因使用此方法是否会导致影响大部分用户代理的任何不利影响?
答案 0 :(得分:6)
不,使用头部的<noscript>
标签不应有任何夸大的不良影响。
尽管如此,<noscript>
还有一些缺点:
<noscript>
标记的内容将不可见。<noscript>
内容。<noscript>
,但技术上无效X(HTML),因此您的网页可能无法验证。 IMO,你想要做的是一件非常好的事情,并且是对标签的恰当使用。但是,更好的解决方案是在Javascript中使用功能检测来启用Javascript功能,而不是使用<noscript>
来禁用它们。
如果您依赖HTML5功能,我会建议Modernizr库用于此目的。
答案 1 :(得分:3)
对于第二种情况,我建议您使用最初为<html>
元素提供no-js
类的方法,然后立即使用JavaScript删除该类,并将其替换为{{ 1}}(或包括像Modernizr这样自动执行此操作的库)。这样,您可以通过为这些样式添加js
或.js
前缀来将CSS样式定位到启用和禁用的JavaScript情境。
像这样的东西,例如:
.no-js
保罗爱尔兰在这里谈论更多:http://paulirish.com/2009/avoiding-the-fouc-v3/