2012-07-17 99 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