2012-02-29 118 views

回答

4

window.open(strUrl, strWindowName[, strWindowFeatures]);second argument是窗口名稱 http://www.javascript-coder.com/window-popup/javascript-window-open.phtml

新的網址,西港島線中打開它。如果你指定該參數,除了「_blank」之外,它將引用已經打開的選項卡/窗口。

例如:

window.open('/about', 'newwindow'); 

window.open('/contact', 'newwindow'); 

會在已打開的窗口/選項卡中打開網頁。

+0

你..我做到了......它的工作..但有沒有辦法,它不會重新加載該頁面,如果它已經打開? – Shashwat 2012-02-29 11:04:25

+0

你可以試試'newwin = window.open(...')'和'newwin.focus();'它適用於彈出窗口,但不適用於Firefox中的選項卡。在IE中,我認爲它默認打開新窗口,因此它可以工作。 – Candide 2012-02-29 13:09:48

+0

我已經做到了。這是重點,但它仍然是重新加載已經存在的窗口。有什麼辦法可以避免這種情況? – Shashwat 2012-03-01 03:58:57

2

確保您每次都向window.open()提供相同的窗口名稱! (第二個參數不能爲空)

您將需要管理從window.open()返回的窗口對象並檢查它是否已關閉,請檢查https://developer.mozilla.org/en/DOM/windowclosed屬性。你將不得不有一個窗口URL列表,這將有助於你決定是否使用window.open()打開一個新的窗口(一個目前未打開的URL)或使用openedWindow.focus()(openedWindow是前一次調用window.open()返回的對象,使窗口進入視圖。

+0

亞..我這樣做......它的工作.. 但有什麼辦法它不會重新加載該頁面,如果它已經打開?我只是想專注於... – Shashwat 2012-02-29 10:13:06

+0

編輯我的asnwer – Yaniro 2012-02-29 11:13:10

2

給窗口的目標名稱:如果已經存在

0

Candide的代碼需要稍作修改。應該檢查null條件而不是「!=」

popwin.html是您想要在彈出窗口中打開的頁面。我知道這已經得到解答,只是張貼以防有人想在以後提及。

主窗口CODE:

<script type='text/javascript'> 
var newwin; 
function popup(){ 

if (newwin == null) 
    { 
    window.open('popwin.html', 'newwin'); 
    } 
    else 
    { 
    newwin.focus(); 
    } 
} 

</script> 

CALL在同一頁的正文區域的彈出:

<a href="#" onClick="popup();">Open Window</a> 
相關問題