Javascript“window.location”停止PHP重定向

时间:2013-06-13 09:59:54

标签: php javascript

基本上有一个callto函数和一个计时器。通过Javascript倒计时显示计时器,同时还有一个PHP重定向,其设置与Javascript倒计时相同。但是,window.location callto函数阻止PHP头重定向工作。谁能告诉我为什么?

Javascript window.location函数(位于body之后,因为它阻止了处理它下面的代码:

<?
echo"
<script type='text/javascript'>
    window.location='callto:".$to."';
</script>";
?>

PHP标头重定向(在html标签上方):

<?php

header( "refresh:5;url=wherever.php" );

?>

如果我删除window.location函数,重定向将起作用。

3 个答案:

答案 0 :(得分:2)

你应该只用javascript重定向,不要用php重定向。为什么在使用javascript进行php重定向时?

为了延迟重定向,你应该使用Javascript setTimetout()函数,例如:

setTimeout(function () {document.location = 'detination';}, time_in_miliseconds);

答案 1 :(得分:2)

 header( "refresh:5;url=wherever.php" );

这不是有效的重定向标题!

header('Location: http://example.com/sub/script.php');

这是一个有效的重定向标题!

要使脚本等待,您需要在其上添加Sleep:

sleep(5);
header('Location: http://example.com/sub/script.php');

答案 2 :(得分:0)

而不是javascript重定向,你应该使用简单的html和href =“callto:...”呈现一个调用链接。 如果您想在没有用户交互的情况下显示呼叫屏幕,您只需在链接上触发点击事件。