检查javascript是否可用,如果javascript不可用则重定向

时间:2012-09-28 11:36:11

标签: php javascript html

  

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

在我的php应用程序中,我需要检查javascript是否在浏览器中打开。我试过这个<noscript><p>javascript is off<p></noscript>它工作得很好。但是我需要重定向到一个页面,如果javascript是OFF这样开发的

<noscript>
<?php header('Location: index.php');?>
</noscript>

但是i / ts总是重定向到index.php,有任何方法可以做到这一点。

6 个答案:

答案 0 :(得分:11)

你的解决方案显然无法运行,因为php是在客户端提供页面之前执行的

你可以做一些像

这样的事情
<noscript>
  <meta http-equiv="refresh" content="0;URL='http://example.com/'">
</noscript>

在你的文件的头部

答案 1 :(得分:3)

<noscript><meta http-equiv="refresh" content="1;url=error.html"></noscript>

如果禁用JS,请尝试重定向 Php脚本独立于js运行

答案 2 :(得分:2)

已知issues noscript

而是这样做:

<html>

<head>

<script>
window.location.href="javascriptEnabled.html";
/*Since javascript is enabled redirect to javascript based page*/
</script>

</head>

<body>
Showing Static Website since javascript is not enabled..
</body>

</html>

答案 3 :(得分:1)

没有一种好方法可以做到这一点,因为没有客户端交互性,您无法从客户端获取信息。

你可以这样做......

  1. 设置元重定向以在5秒后触发
  2. 使用javascript覆盖元重定向
  3. 因此,如果启用了javasccript,则进入javascript页面,否则为非javascript页面

答案 4 :(得分:0)

它会重定向到index.php,因为<?php header('Location: index.php');?>由服务器处理,而客户端处理<noscript>

正确的方法是在客户端使用javascript设置cookie,然后在服务器上检查cookie的存在,如果cookie确实存在,则javascript开启,否则,它已关闭。

答案 5 :(得分:0)

你可以在这里使用不同的方法

  • 使用no javascript版本作为默认版本
  • 使用javascript重定向到增强版

请记住,最好没有不同版本的网站。您可以使用http://modernizr.com/https://github.com/filamentgroup/enhance

来逐步增强库