检测JavaScript禁用的浏览器并为它们分隔网站?

时间:2011-11-05 01:39:34

标签: php javascript jquery html header

  

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

我很好奇,如果用户禁用了JavaScript,其他人会认为最有可能捕获。这是我正在考虑使用的两种方法;如果有人有更好的想法或任何想法或事情我应该注意,同时把这些中的任何一个放在一起请告诉我。

第一种方法

  1. 使用JavaScript函数将变量传递给PHP。
  2. 取决于变量PHP编写JavaScript或非JavaScript版本。
  3. 第二种方法

    1. 使用JavaScript函数将变量传递给PHP。
    2. 取决于使用标头的PHP重定向到JavaScript驱动或非JavaScript驱动的站点。
    3. 我猜第一个最好看,因为用户不会被重定向到页面之外;但是我很好奇是否有更简单的方法来检测JavaScript是否被禁用或启用?我可以使用PHP函数而不是使用JavaScript来实现。使用上面的方法只会假设如果他们禁用了JavaScript,则不会传递变量,PHP将输出该站点的非JavaScript版本。

      任何需要?

4 个答案:

答案 0 :(得分:4)

你不需要PHP来做这件事,它都是HTML。

将javascript页面设为主站点。在它的头部,你可以有一个noscript标签,里面有一个元刷新(或更好)到你的非JavaScript页面。

答案 1 :(得分:3)

为什么不直接使用noscript标签向用户显示消息? http://www.w3schools.com/tags/tag_noscript.asp

除非您有更复杂的理由来查看javascript是否处于活动状态。通常,您只需在noscript标记中包含一条大消息,指示需要javascript,没有它就无法运行。简单的HTML,没什么特别的。

答案 2 :(得分:0)

无需往返。应该能够在第一次请求时判断浏览器是否支持js。 get_browser的注释中有一个有趣的讨论(以及片段列表)(看起来它可能有些过分,并且有一些配置要求)。再次阅读API文档,并对评论采取措辞。

http://php.net/manual/en/function.get-browser.php

答案 3 :(得分:0)

使用<noscript>标记并在该标记中包含META重定向,因此没有JavaScript的用户会转到非JS版本。

所以你的代码看起来像这样:

<noscript>
<meta http-equiv="refresh" content="0; url=http://foo.com/nojs">
</noscript>

或者,您可以在脚本标记中执行以下操作:

location.href='http://foo.com/js';

这样,您的主站点就是非js版本,如果支持JavaScript,它将使用location.href重定向到JS版本