我想编写一个脚本来检测用户是否禁用了javascript,如果是,则将其重定向到另一个页面(假设为mysite.com/enablejavascript)
但是,我不知道从哪里开始!谢谢你。
答案 0 :(得分:24)
可以使用location.replace(URL)
完成JavaScript重定向。
<head>
<noscript>
<meta http-equiv="refresh" content="0; url=http://example.com/without-js" />
</noscript>
<script>
location.replace('http://example.com/with-js');
</script>
</head>
noscript +元刷新示例:http://pastehtml.com/view/bsrxxl7cw.html
1)记住维基百科文章的drawbacks部分!
元刷新标签有一些缺点:
- 如果页面重定向过快(少于2-3秒),使用下一页上的“后退”按钮可能会导致某些浏览器返回到重定向页面,此时重定向将再次出现。这对可用性不利,因为这可能会导致读者在最后一个网站上“卡住”。
- 读者可能希望或不希望被重定向到不同的页面,这可能导致用户不满或引起对安全性的担忧。
答案 1 :(得分:4)
如果禁用java脚本,您希望如何编写脚本??
这是无法做到的。使用<noscript>
禁用javascript时,您可以显示消息。
<noscript>
代码:
如果不支持页面上的脚本类型或者当前在浏览器中关闭了脚本,则HTML NoScript Element()定义要插入的html部分。
答案 2 :(得分:2)
您应该在noscript元素中组合HTML重定向。我发现了这个JavaScript redirection生成器。这是您的示例代码:
<!-- Pleace this snippet right after opening the head tag to make it work properly -->
<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->
<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://yourdomain.com/"/>
<noscript>
<meta http-equiv="refresh" content="0;URL=https://yourdomain.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
var url = "https://yourdomain.com/";
if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
{
document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
var referLink = document.createElement("a");
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
}
else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
答案 3 :(得分:-2)
试试这个:如果禁用了javascript,则显示一个php链接
<script type="text/javascript">
document.write("<button type='button' onclick='somefunction()' >Some Text</button>");
</script>
<noscript>
<?php echo "<a href='redirectfile.php'>Some Text</a>"; ?>
</noscript>