2012-07-17 73 views
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.location.reload();">Reload</a></li> 

在这个问题上的任何帮助?

回答

1

出于安全原因,您不能在现代浏览器中读取或更改(包括重新加载)一个加载了另一个域的URL(如htt://google.com,假设您不是Google编码器)的窗口/ iframe。

所以你不能这样做,除非远程服务器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> 

的想法是在装货检查,如果孩子窗户是开着的最后时间,必要时力的重装。

当然,这只适用于父母和孩子从同一个域中提供服务。

+0

如果我想要它在同一个域中@dystroy? – user1004625 2012-07-17 10:56:52

+0

如果它是相同的域(包括端口),则可以这样做(请参阅编辑的答案)。 – 2012-07-17 11:01:31

+0

这个工作之前!但我需要的是有什么办法,如果我刷新父窗口后打开新窗口,这可以刷新以前打开的窗口? @dystroy – user1004625 2012-07-17 11:08:25

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> 
+1

但是,如果从另一个域提供服务,则无法关闭最后一个。 – 2012-07-17 10:57:52

+0

是的,用户问如何**重新加载** – skafandri 2012-07-17 10:59:38

+0

但这不是我所需要的! – user1004625 2012-07-17 11:02:38