2011-09-27 97 views
2

因此,考虑到以下标记,如果用户浏览器禁用了JavaScript,它们将被重定向到备用页面,该页面试图模拟没有JavaScript(可能是动态呈现的页面)的网站功能,或者一个警告页面,通知必须启用JavaScript使用网站将JavaScript禁用的用户重定向

<!doctype html> 
<html> 
<head> 
    <!-- If the browser has javascript disabled, the browser will be redirected--> 
    <!-- to a page that does not require javascript to function, or informs the--> 
    <!-- the user of the requirement for javascript to be enabled--> 
    <noscript> 
     <meta http-equiv="refresh" content="5; url=/warning.html"/> 
    </noscript> 
    <title> 
     Page Title 
    </title> 
</head> 
<body> 
    <script> 
     // rich client logic 
    </script> 
</body> 
</html> 

通过this html5 validator来看还有w3c validator用户这样看来,上面是有效的HTML5。我正在考虑使用这种技术来管理没有启用JavaScript的用户,从而无法使用我正在计划的单页应用程序,但我之前没有看到它,并且想知道是否

(a)有任何人(b)任何人都可以提出任何有价值的批评,因为我为什么不考虑使用这种技术?

现在它看起来像一个可行的选项给我,但我并不完全相信潜在的副作用(如浏览器不尊重重定向的条件)。

+0

相关问题[

回答

2

任何人都可以提出任何有价值的批评,为什么我不应该考虑使用这种技术?

你有一个非常脆弱的系统。如果JS因任何原因失败,它将彻底崩溃。搜索引擎可以蜘蛛的两个版本的网站,并链接到“错误”的人。

所以不要这样做。使用feature detectionbuild on things that work

+0

只是为了澄清,我假设你并不是说你认为JavaScript失败会导致无脚本重定向被调用(它不会),而是你支持一种开发方法,对吧?搜索引擎优化点是伟大的 - 谢谢你! – VLostBoy

+0

正确。如果JS失败,那么你将得到JS不工作的JS版本。 – Quentin

1

我使用这种技术,它工作得很好。我刚加入这一行的没有JavaScript页面:

<META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"> 

我用这种方法不同意,并建议逐步增强,但它只是没有意义的,任何更多这样做是因为:

1:大约1%的用户将禁用JavaScript,其中有更多的工作要支持他们1%以上。 (去年统计数据请参阅:http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-many-users-have-javascript-disabled/

2:并不总是有任何其他的选择。

+0

接近两年后......这是一个很好的观点。实际上,我将坚持使用无脚本重定向作为其有效的HTML,并将处理浏览器客户端,而您提供的robor元标记将处理搜索引擎索引的情况。谢谢李:) – VLostBoy