我想知道用户是否启用了javascript,我不想在HTML中使用no script标签,因为我不希望用户下载JavaScript和无脚本的额外脚本标签..
有人有个主意吗?
先谢谢了, Din Bracha
答案 0 :(得分:1)
您可以使用AJAX请求一个php页面,您可以在其中设置一个cookie,该cookie将用作JS激活的标志。在js脚本中,如果设置了cookie,则可以检查是否存在cookie,这意味着用户已启用JS
答案 1 :(得分:1)
不幸的是,这不是你可以做的事情。 PHP代码通常在浏览器呈现任何代码之前完全执行。
在初始标头请求中,不会向PHP报告在浏览器中禁用Javascript。您最接近的方法是使用Javascript对PHP进行AJAX调用以检测是否存在Javascript。如果回调失败,那么您可以认为它已被禁用。
答案 2 :(得分:0)
test.php
<script>
//// query string
if(/[?&]js=1/g.test(window.location.href) == false)
window.location.href += (window.location.href.indexOf("?") == -1 ? "?" : "&") + "js=1";
//// OR session cookie
if(document.cookie.search(/(^|;)js=1/) == -1) {
document.cookie = "js=1; path=/";
document.location.reload();
}
</script>
<?php
$_GET["js"];
////
$_COOKIE["js"];
?>
有很多方法可以做到这一点。使用JavaScript在客户端设置cookie,然后重新加载页面,或者执行上述操作并向URL添加查询字符串。 PHP可以检查cookie或查询字符串,并设置一个会话变量,说明该用户已启用JS。