No-Javascript检测脚本+重定向

Hug*_*ugo 11 javascript redirect

我想写一个脚本来检测用户是否禁用了javascript,如果是,则将它们重定向到另一个页面(让我们说mysite.com/enablejavascript)

但是,我不知道从哪里开始!谢谢你.

kay*_*kay 24

Gdoron已经提到了noscript.与元刷新 ¹ 一起,如果用户禁用了JavaScript,您可以重定向用户.

可以使用JavaScript重定向location.replace(URL).

<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>
Run Code Online (Sandbox Code Playgroud)

noscript + meta refresh的示例:http://pastehtml.com/view/bsrxxl7cw.html

1)记住维基百科文章的缺点部分!

元刷新标签有一些缺点:

  • 如果页面重定向过快(少于2-3秒),使用下一页上的"后退"按钮可能会导致某些浏览器返回到重定向页面,此时重定向将再次出现.这对可用性不利,因为这可能会导致读者在最后一个网站上"卡住".
  • 读者可能希望或可能不希望被重定向到不同的页面,这可能导致用户不满或引起对安全性的担忧.

  • +1.不知道"Meta刷新"的事情.尼斯.我在你的答案中加了一些缺点.希望你不介意 (3认同)
  • HTML5允许在文档中的任何位置使用元标记.它们是schema.org上用于微数据的其他东西.HTML5也允许noscript在头部,只要它只包含其他东西,meta. (2认同)

gdo*_*ica 4

当java脚本被禁用时你想如何编写脚本...?

这是做不到的。当使用 禁用 javascript 时,您可以显示一条消息<noscript>

<noscript>MDN上的标签:

HTML NoScript 元素 () 定义在页面上的脚本类型不受支持或当前在浏览器中关闭脚本时要插入的 html 部分。