2013-02-05 107 views
5

我有一個彈出式窗口,我打開使用下面的腳本。在每次點擊時,我想打開新的彈出窗口。 據我所知,具有唯一的窗口名稱將解決問題(在這種情況下「SampleWindow」)。 維持窗口唯一性的最佳方式是什麼?有沒有其他的方式來管理JavaScript彈出?每次點擊新彈出窗口

window.open(url, 'SampleWindow', 'WIDTH=300,HEIGHT=250'); 
+1

以下3回答要麼會工作。這是偏好。 –

回答

6

更改名稱的_blank一個值傳遞給name參數將傳遞URL加載到一個新的窗口。就像這樣:

window.open(url, '_blank', 'width=300,height=250'); 

name參數(可選)其他選項包括:

  • _blank - 網址加載到一個新的窗口。這是默認
  • _parent - URL被加載到父框架
  • _self - URL替換當前頁
  • _top - URL替換可以加載任何框架集
  • name - 窗口的名稱

請注意,如果你將通過這個JavaScript來錨標記A是IE瀏覽器的期望回報值,否則它會referrence的A標籤本身。您的代碼看起來像:

<a href="javascript:var w=window.open(url, '_blank', 'width=300,height=250');">test</a> 

或更好的(可避免用戶在狀態欄的代碼):

<a href="javascript:void(0);" onclick="window.open(url, '_blank', 'width=300,height=250');">test</a> 

鏈接:

1

您可以將時間戳添加到您的窗口名稱,以創建真正獨特的窗口名稱並將其分配給變量。如...

var myWindow = window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250');

既然你想比Windows更那麼這將是更好的通過陣列管理窗口。

 
var myWindow = []; 
myWindow.push(window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250')); 

這些窗口可以通過myWindow[index]myWindow[2].close();進行管理。

2

你可能只是每次

var i = 0; 
window.open(url, 'SampleWindow' + i, 'WIDTH=300,HEIGHT=250'); 
i++; 
相關問題