我想从弹出窗口到父页面监听点击/提交事件。 下面的代码可以工作,如果父窗口和弹出窗口都属于同一个域,请说http://localhost(在代码中检查下面的注释行),但如果弹出窗口有不同的域名,则不会调用eventHandler方法,如echosign.com。 在下面的代码中,父窗口是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);
}
}
答案 0 :(得分:0)
如果您对两个域都有控制权,则可以将标头设置为接受其他域。
ID | DEVICEID | STATUS |
--------------------------------
1 | SN001 | ENROLL |
2 | SN002 | ENROLL |
3 | SN003 | ENROLL |
4 | SN004 | ENROLL |