需要一个解决方案,让网站在浏览器中禁用javascript

时间:2012-11-09 07:31:13

标签: javascript noscript

我有一个使用大量JavaScript的网站。我的问题是在浏览器中禁用javascript选项,网站无法正常运行。

我找到的两个解决方案是:

  1. 我在页面标题中添加了此标记:

    <noscript><meta http-equiv="refresh" content="0; URL=/noscript.php" />
    

    在加载时,页面会被重定向到新页面。但是在做一些研究。我在stackoverflow上发现它有seo问题,因为抓取工具会索引noscript页面,从而影响网站的搜索引擎优化。

  2. 在noscript标记内禁用javascript时,只显示stackoverflow之类的消息。我认为他们还创建了单独的表单,在发生这种情况时使用服务器端验证。

  3. 除了在所有表单上重做服务器端验证功能外。还有其他我可以使用的解决方案吗?另外我想知道解决方案1是不是一个好选择。正如我所见,facebook也在使用它。

    先谢谢。

    我发现这可以按我想要的方式工作。想知道,你会怎么想?

    <noscript>
     <font face=arial>JavaScript must be enabled in order for you to use the site.</font>      <style type="text/css">
    #wrapper { display: none; }
    </style>  
    </noscript> 
    

1 个答案:

答案 0 :(得分:1)

如评论中所述,您应该始终在服务器端和客户端验证用户输入。这可能不是您想要听到的答案(这将意味着最初的额外工作),但如果您不这样做,那么您的网站就会受到攻击。

在构建一个需要支持非JavaScript用户的网站时,我发现从顶层开始使用基本的HTML / CSS网站和图层JavaScript功能要容易得多。这称为Progressive Enhancement

如果你不需要(或者真的不想)支持非JavaScript用户,那么我选择2 - 请提示用户他们需要启用JavaScript来使用所有网站的特征