从框架中的脚本重定向页面

时间:2019-06-20 15:06:58

标签: javascript php jquery ajax

我每4秒钟使用javascript加载一个页面(lobby_box.php)。此页面正在我的(index.php)页面上的div中加载。问题是(lobby_box.php)包含应从index.php> anotherpage.php重定向客户端的代码。但是它将客户端重定向到div内部的(anotherpage.php),该div每4秒加载一次(lobby_box.php)。

因此,基本上,它不会重定向整个页面,而不会重定向整个div。

我已经尽力使用所有可以动手的东西。我一直在尝试使用javascript,jquery,php代码进行重定向,但它仍然仅在div内进行重定向。

function getLobbyBox() { 
    var http; 
    if (window.XMLHttpRequest) { 
        http = new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { 
        http = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    http.onreadystatechange=function() 
    { 
        if (http.readyState==4 && http.status==200) 
        { 
            document.getElementById("lobby_new_content").innerHTML= http.responseText; 
        } 
    }   

    http.open("GET", "includes/lobby_box.php?noCache=" + Math.random(), true); 
    http.send(); 
} 

这是每4秒加载一次(lobby_box.php)的函数。

这是应该重定向到anotherpage.php的代码,但仅在div内重定向到它。

if(mysqli_num_rows($game) > 0) {
 echo '<script>window.location.href = "/anotherpage.php";</script>';
 exit();
}

我也尝试过

if(mysqli_num_rows($game) > 0) {
 header('location: anotherpage.php');
 exit();
}

是否有可能像这样解决它?还是我需要寻找另一种方法?

2 个答案:

答案 0 :(得分:0)

假设父页面和iframe页面都在同一域中,则可以轻松地从框架中调用window.parent并以这种方式重定向。

window.parent.location.href = '/whatever-page';

答案 1 :(得分:0)

问题解决了。

可能不是真正的框架,而是使用XMLHttpRequest在div中加载的内容。工作代码是。

<META http-equiv="refresh" content="0;URL=/anotherpage.php" target="_new">

我只是将其放在if语句中的回显中。