J'ai une application web qui se compose de deux sites Web - l'un fonctionnant sur le port 8080 (Java) et l'autre sur le port 80 (IIS). Les pages Web Java sont appelées dans des pages Web IIS, qui sont parfois rappelées dans des pages Web Java pour obtenir des informations supplémentaires. Le JavaScript qui gère la communication/échange de données fonctionne dans IE, mais pas dans Firefox.Firefox AddEventListener issue
Page 1 (IIS)> onClick de Button> Page 2 (Java/Tomcat)> L'utilisateur ferme pop-up> Transfert de données à la page 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);
}
}
La question que je lance en est:
a) Dans Firefox, si je le alert("Event Listener");
activé, je reçois une erreur au sujet Error: Permission denied for "http://localhost" to get property Window.addEventListener from "http://localhost:8080"
.
b) Dans Firefox, si je n'ai pas l'alerte, alors il n'y a pas de message d'erreur affiché, mais il semble Focus_onuloadExitEvent
d'abord puis Focus_onfocusEvent
, le tout en train d'ouvrir le popup. Fermeture de la fenêtre contextuelle ne se déclenche pas Focus_onunloadExitEvent
.
Comment puis-je m'assurer que le code se comporte correctement dans Firefox et IE - ie. Je veux que le onfocusEvent
se déclenche sur le menu contextuel et que onunloadEvent
se déclenche lors du déchargement contextuel.