0

我想重定向一个条件为真的用户,但我不能轻易写header('Location : something');,因为在我的情况下,标题已经发送(已经显示 HTML 内容)。我知道如果用户启用了 JavaScript,我可以编写类似的内容:

<script type="text/javascript">
document.location.href = "http://google.pl";
</script>

但我想重定向每个用户,包括没有启用 gov JS 的用户。我补充说,这种情况在<body>文档部分。有什么办法吗?我要求每个解决方案,它们一定不是 PHP 的。

PS我读了那篇文章,但我认为它对我没有帮助。

4

4 回答 4

3

使用<noscript>标签。

像这样的东西

<noscript>
    <meta http-equiv="refresh" content="0; url=http://example.com/somepage.html" />
</noscript>
于 2013-08-30T11:25:41.293 回答
1

这是不可能的,我想是的。但是您可以为浏览器实现一条消息,告诉用户他/她应该激活 javascript。

<noscript>
    You can browse this site without having JavaScript enabled,
    but to experience the full benefits of the site, please enable JavaScript.
</noscript>

但是您可以继续使用php解决方案本身。

添加

ob_start()

在php页面的开头,然后使用

header('Location : something');

我希望能帮助你。

于 2013-08-30T11:31:54.343 回答
0

而不是重定向非Javascript用户重定向Javascript用户

如果用户禁用了javascript,首先给用户页面应该被重定向。

如果用户启用了 javascript,则在那里编写 javascript 以将用户重定向到页面,因此如果用户启用了 javascript,那么他将被重定向到正确的页面,但如果他禁用了 javascript,则脚本不起作用并且他留在实际上应该重定向的页面...希望这有用....

于 2013-08-30T11:29:34.880 回答
0

我通过使用函数清理输出缓冲区ob_end_clean();然后使用 PHP来解决它header();。当然,在我写的文件的开头ob_start();和结尾ob_end_flush();您可以在此处阅读有关输出缓冲的更多信息。

于 2013-08-30T11:33:28.467 回答