从父页面重新加载子页面

时间:2012-07-17 10:49:48

标签: javascript jquery html dom web

当我点击重新加载时,我希望每次从父页面重新加载子页面(从父页面的链接打开)。

我使用了这个但是当我刷新父页面时这不起作用。

<li><a href="js.php" title="alert-tab"  onclick="myWindow=window.open('http://www.google.com','_blank');">New Window</a></li>

<li><a href="#" title="alert-tab"  onclick="myWindow.location.reload();">Reload</a></li>

有关此问题的任何帮助吗?

2 个答案:

答案 0 :(得分:1)

出于安全原因,您无法在现代浏览器中阅读或更改(包括重新加载)使用其他域的网址加载的窗口/ iframe(例如htt://google.com,假设您不是Google编码器)

所以除非远程服务器authorized it不常见,否则你不能这样做。

如果页面位于同一个域中,则可以使用:

<li><a href="#" title="alert-tab"  onclick="myWindow=window.open('index2.html','_blank');">New Window</a></li>
<li><a href="#" title="alert-tab"  onclick="myWindow.location.reload();">Reload</a></li>​

在测试中要小心,始终在http://(而不是file://)中打开,因为2个本地文件始终被视为单独的域。

请注意,如果您为窗口指定了名称,则下次加载它时将在同一窗口中,即使您在其间重新加载父页面:

<li><a href="#" title="alert-tab"  onclick="myWindow=window.open('index2.html','someName');">New Window</a></li>

因此,如果您想在重新加载父页面时重新加载子页面,可以执行以下操作:

<li><a href="#" title="alert-tab" id=mylink>New Window</a></li>
<script>
function openPage(){
    myWindow=window.open('index2.html','someName');
    localStorage['open'] = 'yes';
}
window.onload = function(){
    document.getElementById('mylink').onclick=openPage;
    if (localStorage['open']=='yes')  myWindow=window.open('index2.html','someName');
    localStorage['open'] = 'no';
};
</script>

我们的想法是在加载时检查子窗口是否上次打开,并在必要时强制重新加载。

当然,只有在同一个域提供父级和子级时,此方法才有效。

答案 1 :(得分:0)

你可以重新打开页面,这在大多数情况下与重新加载具有相同的效果。

<li><a href="js.php" title="alert-tab"  onclick="myWindow=window.open('http://www.google.com','_blank');">New Window</a></li>

<li><a href="#" title="alert-tab"  onclick="myWindow=window.open('http://www.google.com','_blank');">Reload</a></li>