我有父瀏覽器窗口P。點擊一個按鈕,一個新的瀏覽器窗口WIN-A被打開。 然後再次按下相同的按鈕它應該讀取WIN-A窗口的標題並打開WIN-B如何在兩個瀏覽器窗口之間進行通信?
如何使用Javascript實現此目的?
在此先感謝
我有父瀏覽器窗口P。點擊一個按鈕,一個新的瀏覽器窗口WIN-A被打開。 然後再次按下相同的按鈕它應該讀取WIN-A窗口的標題並打開WIN-B如何在兩個瀏覽器窗口之間進行通信?
如何使用Javascript實現此目的?
在此先感謝
類似的問題只是最近問:
堆棧溢出問題:Quickest way to pass data to a popup window I created using window.open()?
使用,作爲一個基地(並提供了家長和WIN-A是在同一個域):
// Put outside click handler
var winA = null;
// Put inside click handler
if(!winA){
// Store the return of the `open` command in a variable
var winA = window.open('http://www.mydomain.com/page1');
} else {
var title = winA.document.title;
// Do something with title
var winB = window.open('http://www.mydomain.com/page2');
}
考慮:
var myWindow = open("foo.bar");
老方法:更改窗口對象的name
屬性:
myWindow.name = "...";
// in foo.bar:
setInterval(someFunctionToCheckForChangesInName, 100);
HTML5方法:調用窗口對象的postMessage
方法:
myWindow.postMessage("...", "*");
// in foo.bar:
(window.addEventListener || window.attachEvent)(
(window.attachEvent && "on" || "") + "message", function (evt) {
var data = evt.data; // this is the data sent to the window
// do stuff with data
},
false);
當你調用window.open,它返回到基準新打開的窗口。您可以將引用存儲到在數組中打開的窗口,然後在需要打開另一個新窗口時迭代該數組。
加布裏埃爾
我從來沒有見過(possibly_present_func_one || possibly_present_func_two)(參數,參數);技術之前。涼。 – 2009-12-02 20:50:37
Trevor:如果它不是'window'的屬性,請不要忘記使用'.call(the_object_that_is_supposed_to_be_the_parent,args)'。 – 2009-12-02 22:46:46
使用花哨的作業和速記操作很酷,但對於像SO這樣主要關注分享知識的頁面,這不是最好的方法。人們對JS不感興趣「||」 - 或者任務必須認爲它看起來很神祕而且不直觀。 – 2013-10-11 17:28:16