La détection de l'événement onLoad dans une fenêtre ouverte à l'aide de window.open présente un défi dans divers navigateurs. Le code suivant tente de l'implémenter, mais échoue :
window.popup = window.open($(this).attr('href'), 'Ad', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); $(window.popup).onload = function() { alert("Popup has loaded a page"); };
Pour réussir à capturer l'événement onLoad, les méthodes suivantes sont recommandées :
Pour les navigateurs modernes, utilisez la méthode addEventListener comme suit :
var myPopup = window.open(...); myPopup.addEventListener('load', myFunction, false);
Si la prise en charge d'Internet Explorer est cruciale, utilisez la méthode attachEvent :
myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent']( (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false );
La prise en charge d'IE peut être fastidieuse. Si possible, envisagez de l'éviter ou de mettre en œuvre des solutions spécifiques pour la compatibilité IE.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!