【问题标题】:Testing if javascript is enabled测试是否启用了javascript
【发布时间】:2010-03-09 10:43:29
【问题描述】:

有没有办法测试是否启用了 javascript,以确保在禁用或不可用时不会启动需要 javascript 的应用程序?

【问题讨论】:

标签: javascript


【解决方案1】:

【讨论】:

  • 记住 noscript 的警告 - 即使不使用它,也不能保证 javascipt 可用或正常工作。您可以通过使用 Firefox Web Developer 关闭 javascript 来看到这一点。
  • @Colin:NoScript 用户也会遭受同样的痛苦:stackoverflow.com/questions/993387/…
【解决方案2】:

我倾向于使用以下方式。

1) 默认显示错误消息

<div id="noJS">For use, you need JavaScript enabled. (nice images and perhaps a link to your fav. browser)</div>

2) 通过 javascript 禁用它并显示主应用的容器

$("#noJS").hide();
$("#app").show();

如果只需要 javascript,例如导航,您应该尝试为非 js 用户提供非 js 版本,以增加您的受众。

【讨论】:

  • stackoverflow 也使用了这种技术(在页面顶部显示红色横幅)
  • 我会在这样的消息中将“js”扩展为“JavaScript”。许多最终用户可能不知道“js”是什么。
  • 那是 jQuery。可能值得一提。
  • @ColinPickard Stackoverflow 使用
【解决方案3】:

默认情况下,提供无 Javascript 版本。使用 Javascript 立即将用户重定向到 Javascript 版本(仅在启用 Javascript 时才有效)。

【讨论】:

    【解决方案4】:

    场景是:

    1. 访问者首次向您的网站提出请求
    2. 提供一个设置两个 cookie 的页面,一个使用 javascript,另一个使用您的服务器端语言。
    3. 标题或元重定向到另一个页面进行测试。
    4. 在测试页面,检查是否收到服务器发送的 cookie 以查看是否启用了 cookie 支持,并测试是否收到 javascript cookie 以启用 JS 支持。
    5. 享受新发现的知识。

    【讨论】:

      【解决方案5】:

      不在初始加载时。您可以尝试使用诸如在 JavaScript 中设置 cookie 之类的技巧,并在后续请求中对其进行检查。最好的方法是确保您的网站在没有 JavaScript 的情况下运行,并使用 JavaScript 来提供更好的体验。

      【讨论】:

      • 那些明确使用 javascript 即 gmail 的应用程序呢?
      • @user270797,我的 Gmail 不需要 Javascript。 Gmail 有一个纯 HTML 版本,它使用 Javascript 实现小的附加功能,例如实时搜索联系人。
      【解决方案6】:

      您可以创建一个包含 &lt;noscript&gt; 内容的页面,并使用 javascript 将该页面重定向到您的实际应用程序

      【讨论】:

        猜你喜欢
        • 2011-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多