-2
我想聽從點擊/提交事件從彈出窗口到父頁面。 下面的代碼在父窗口和彈出窗口屬於同一個域的情況下工作,如http://localhost(在代碼中查看下面的註釋行),但如果彈出窗口具有不同的域名稱echosign.com,它將不會調用eventHandler方法。 在下面的代碼中父窗口是localhost或彈出窗口以外的任何東西。如何傾聽從彈出窗口提交事件到父頁面 - 跨域
var newWindow;
function OpenPopup() {
//newWindow = window.open("http://localhost:21930/Popup.htm", "PopupWindow", "width=300,height=100");
newWindow = window.open("https://secure.echosign.com", "PopupWindow", "width=300,height=100");
if (newWindow.addEventListener) {
newWindow.addEventListener('click', eventHandler, false);
} else {
newWindow.attachEvent('onclick', eventHandler);
}
}
function eventHandler(e) {
if (e.currentTarget.origin == "https://secure.echosign.com") {
console.log("Event from Adobe Sign!", JSON.parse(e.data));
} else {
console.log(e.currentTarget.origin);
}
}
嘗試這樣的回答:https://stackoverflow.com/questions/3457391/how-do-you-use-window-postmessage-across-domains – Maarten
Maarten-你的建議的URL不利於我 – ADP
也就是說部分*「同源poilicy」*安全限制 – charlietfl