【问题标题】:find whether browser supports javascript or not [duplicate]查找浏览器是否支持javascript [重复]
【发布时间】:2011-03-11 09:46:03
【问题描述】:

可能重复:
How to detect if JavaScript is disabled?

如何判断用户的浏览器是否支持javascript

【问题讨论】:

    标签: javascript


    【解决方案1】:

    如果浏览器配置为使用 Javascript,则无法检查是否使用 Javascript,因为显然它无法运行:)

    因此,您可以使用 <noscript> 标记。当 Javascript 不受支持时,此标记将始终出现,因此您可以在此标记中添加信息以警告用户在其浏览器上启用 Javascript(如果可以)。

    哦,这可能是:How to detect if JavaScript is disabled?

    【讨论】:

      【解决方案2】:

      您可以使用 javascript 将一些值放入表单中的隐藏字段 - 如果该字段在回发时具有此值,则浏览器支持 javascript。

      document.getElementById("myHiddenField").value = "js is on";
      
      <input type="hidden" />
      

      另一种选择是使用 javascript 添加 cookie 并在服务器端查找此 cookie - 如果存在,则启用 javascript,如果不存在,则不启用。

      我会建议 &lt;noscript&gt;,但这无助于您的代码找出是否支持 javascript(可能仅在其中输出一个附加表单),但这会使您的客户端和服务器端复杂化逻辑。

      【讨论】:

      • @elcuco - 作为一名程序员,您如何找出使用了哪一个?他不是问输出&lt;noscript&gt;,而是问是否支持javascript。这样,该数据就被传送到服务器。
      • &lt;noscript&gt; 块可以包含带有嵌入标志参数的链接,其操作很像 cookie。
      • @Pointy - 是的,但是,您将无法使用任何 外部 &lt;noscript&gt; 块的链接来进行区分。
      【解决方案3】:

      使用&lt;noscript&gt;标签:

      <noscript>
        Your browser does not support javascript.......
      </noscript>
      

      更多信息:

      http://www.w3schools.com/tags/tag_noscript.asp

      【讨论】:

      • 我不认为这是他问的问题。
      • @George Marian:听起来就是这样,那你怎么看?
      • @sAc 他问的是检测它是否被禁用,而不是如何为禁用它的用户显示一些东西。
      • @George Marian 但&lt;noscript&gt; 内容可以 告诉服务器 Javascript 已禁用。它可以包含&lt;form&gt; 或&lt;a&gt; 链接,其中包含向服务器传达未启用Javascript 的参数。或者,当然,Javascript 可以回传一个 XMLHttpRequest 来告诉服务器 Javascript 已启用。
      • @Pointy 仅当用户与这些元素交互时。如果用户从不提交表单(或不点击链接),你不知道。您确实提出了一个很好的观点,没有期望是做出这种决定的一种方式。 IE。如果 JavaScript 回发/不回发,按照 Oded 的回答,但使用不同的方法。
      猜你喜欢
      • 1970-01-01
      • 2011-10-13
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-18
      相关资源
      最近更新 更多