2012-04-24 223 views
0

我是javascript中的新手,我必須執行以下操作:我有一個asp.net應用程序,它在新窗口瀏覽器中加載另一個內容。在javascript中檢測瀏覽器窗口

通過javascript,我需要刷新之前打開的彈出窗口,但我不知道如何找到新的窗口。

我嘗試了一個簡單的window.location.reload(true);,但這會導致僅刷新彈出窗口的主瀏覽器窗口刷新。相反,我的意圖是隻刷新彈出窗口。

回答

1

當你打開窗戶,給它一個名稱(或存儲窗口的返回值)。然後,代替window.location.reload,請致電name.location.reload,其中name是您給窗口指定的名稱。

+0

比我快1秒。 :I – 2012-04-24 15:21:18

+0

謝謝,但我的問題是,我沒有訪問window.open方法(所以我不知道名稱)。是否有可能以其他方式檢索名稱? – Marco 2012-04-24 16:01:21

1

如果用window.open()打開窗口,請獲取其返回值。這是對彈出窗口對象的引用。從那裏你可以撥打location.reload()。例如,這將打開一個窗口,然後再重新裝入:

var popup = window.open('/somepage'); 
popup.location.reload(true); 
+0

感謝的,但我的問題是,我還沒有接觸到window.open方法(所以我不知道名字)。是否有可能以其他方式檢索名稱? – Marco 2012-04-24 15:58:47

+0

你到底打開彈出窗口的方式是什麼? – LukeGT 2012-04-24 16:11:42

+0

我使用了一個名爲visual webgui的外部框架,我使用了一個打開彈出窗口的內部調用 – Marco 2012-04-24 17:21:34

1

存儲到您的彈出式窗口的引用,然後,而不是調用你的主窗口上location.reload()函數,調用它的彈出窗口上,像這樣:

var myNewWindow = window.open(...); 
myNewWindow.location.reload(true); 
1

你創建一個使用JavaScript中的新窗口? 如果您正在使用window.open(),該函數返回到新窗口的引用,所以你可以做這樣的事情:

var newWin = window.open(); 
newWin.location.reload(true);