我有一个网络应用程序,由两个网站组成 - 一个在8080端口上运行(Java),另一个在80端口上运行(IIS)。 Java网页调用IIS网页,有时会回调Java网页以获取额外的信息。处理通信/数据交换的JavaScript在IE中可用,但在Firefox中不行。
页面1(IIS)>点击按钮>页面2(Java/Tomcat)>用户关闭弹出窗口>数据传输到页面1 JavaScript:
我遇到的问题是:
a)在Firefox中,如果我启用了
b)在Firefox中,如果我没有启用alert,那么就不会显示任何错误消息,但是看起来它首先执行
如何确保代码在Firefox和IE中都能正常工作 - 即我希望
页面1(IIS)>点击按钮>页面2(Java/Tomcat)>用户关闭弹出窗口>数据传输到页面1 JavaScript:
if(window.attachEvent){//IE exclusive method for binding an event
alert("AttachEvent");
window.attachEvent("onfocus", Focus_onfocusEvent);
window.objExitPopupWindow.attachEvent("onunload", Focus_onunloadExitEvent);
} else if(window.addEventListener){//DOM method for binding an event. W3C standard
try{
alert("Event Listener");
window.addEventListener("focus", Focus_onfocusEvent, true);
window.objExitPopupWindow.addEventListener("unload", Focus_onunloadExitEvent, true);
} catch(err) {
alert(err);
}
}
我遇到的问题是:
a)在Firefox中,如果我启用了
alert(“Event Listener”);
,那么我会收到一个错误消息,内容是:Error: Permission denied for "http://localhost" to get property Window.addEventListener from "http://localhost:8080"
。b)在Firefox中,如果我没有启用alert,那么就不会显示任何错误消息,但是看起来它首先执行
Focus_onuloadExitEvent
,然后执行Focus_onfocusEvent
,这都是在打开弹出窗口的过程中进行的。关闭弹出窗口不会触发Focus_onunloadExitEvent
。如何确保代码在Firefox和IE中都能正常工作 - 即我希望
onfocusEvent
在弹出窗口获得焦点时触发,onunloadEvent
在弹出窗口卸载时触发。