【问题标题】:You must have JS enabled message?您必须启用 JS 消息?
【发布时间】:2010-09-16 18:51:35
【问题描述】:

实现“您必须启用 JS”消息的最佳方式是什么?目前,如果没有 JS,我的网站根本无法运行。

我应该使用<noscript> 标签吗?我是否应该隐藏整个页面的内容,放置一条需要启用JS的消息,然后隐藏消息并使用JS显示内容? -- 这可能会导致消息暂时可见。

是否有一个网站我可以引导我的用户访问描述如何在不同浏览器中启用 JS?也许还有关于那个 stupid noscript FF 插件的简介?

【问题讨论】:

    标签: javascript html usability


    【解决方案1】:

    使用noscript 标签,该标签仅在脚本不可用(即禁用)时可见。

    此外,您最初可以使用 css 隐藏一些功能,然后使用脚本启用它们。

    启用脚本是针对每个浏览器的,因此您可能需要链接到多个页面才能涵盖目标组中使用的所有浏览器。 This Microsoft page 涵盖了一些最受欢迎的。

    【讨论】:

    • 我知道这是特定的..这就是为什么我希望有一个网站列出如何在所有不同的浏览器中执行此操作。否则我可以打开一个小链接并完成它:p <noscript> 在所有浏览器中都兼容吗?喜欢 IE6+?
    • @Mark:noscript 标签适用于所有浏览器。如果你碰巧有一个浏览器太古老以至于它不知道noscript 标签(例如IE 2),它会忽略标签并显示它的内容,所以它仍然可以工作。
    • 虽然,我认为如果你仍然支持 IE2,你的问题比如何实现<noscript> 要大得多。
    【解决方案2】:

    您还可以将包装器隐藏在内容中,例如

    <body>
        <div class="js-on">
           ...content here
        </div>
        <div class="js-off">
          warning: you must have javascript enabled
        </div>
    </body>
    
    .js-on{display:none;}
    .js-off{display:block;}
    

    并使用 javascript 删除/切换这两个类。 ;)

    但作为不支持 css 的浏览器的一种替代方法:

          <noscript>
    

    -tag 是最好的解决方案

    【讨论】:

    • 嗯,这就是我试图在我的 q 中描述的内容,但这会导致警告出现一秒钟,即使对于 确实 启用了 JS 的用户也是如此。
    • js-on 脚本确实应该放在头部以避免这种情况。不在内容下方或在 jQuery onload 中
    • 怎么样? 确实需要加载 div 才能使脚本正常工作。
    • @mark:诀窍是将类名添加到头部的 dom 中:阅读:greatwebguy.com/programming/dom/…greatwebguy.com/programming/css/writing-javascript-specific-css
    • 啊...您将样式应用到文档节点,它会立即加载。聪明的。当与&lt;noscript&gt; 结合使用时,它应该可以很好地工作。谢谢。
    猜你喜欢
    • 2018-10-30
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    相关资源
    最近更新 更多