<noscript>重定向

yre*_*uta 7 php

如果他/她已禁用javascript,我想将用户重定向到某个页面.我试过这段代码:

<noscript><?php url::redirect('controller/method'); ?></noscript>
// url::redirect is much like the location header
Run Code Online (Sandbox Code Playgroud)

无济于事......

我该怎么做呢?

jhe*_*ngs 19

由于标题已经发送,您需要使用标准HTML标记:

<noscript>
  <meta http-equiv="refresh" content="0;url=noscript.html">
</noscript>
Run Code Online (Sandbox Code Playgroud)

在Firefox和IE上尝试这一点似乎运行良好...启用JavaScript后,<meta>标记将被忽略.禁用时,浏览器会重定向到noscript.html.

  • 顺便说一下,这是有效的HTML5. (8认同)
  • 你能解释一下吗? (2认同)

Dan*_*ite 5

如果禁用了javascript,则无法进行重定向.为什么不这样做 - 如果启用了javascript,重定向?

<script>
   window.location = "...";
</script>
Run Code Online (Sandbox Code Playgroud)

  • 这个逻辑很简单直接......向用户显示"哑"页面,如果他们满足所有预先要求,请给他们好东西.+1 (2认同)

mau*_*ris 2

您不能使用元刷新标记,然后使用 Javascript 删除它,因为浏览器设置为在读取元刷新标记时重定向,而 JS 操作它为时已晚。

唯一的方法是要么按照 Daniel 的建议进行操作,要么在没有 JavaScript 的情况下显示链接:

<noscript>
<a href="">Click here to continue</a>
</noscript>
Run Code Online (Sandbox Code Playgroud)

或者你可以尝试优雅地失败:你打算关闭 javascript 吗?