Maison  >  Article  >  interface Web  >  Comment détecter les événements de chargement de page dans Windows ouvert avec Window.open ?

Comment détecter les événements de chargement de page dans Windows ouvert avec Window.open ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 13:05:31683parcourir

How to Detect Page Load Events in Windows Opened with Window.open?

Détection des événements de chargement de page dans Windows ouvert avec window.open

Dans certains cas, il devient nécessaire de détecter le moment où une page est complètement chargée dans une fenêtre créée à l'aide de la méthode window.open. Cependant, la tentative de capture de cet événement à l'aide de $(window.popup).onload n'aboutit pas. Cet article explore des techniques alternatives qui permettent aux développeurs de surveiller efficacement les événements de chargement de page dans les fenêtres ouvertes via window.open.

La clé pour réaliser cette tâche réside dans l'utilisation de la méthode addEventListener. Voici un extrait de code mis à jour qui résout le problème :

var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);

Ce code attribue un écouteur d'événement dédié à l'objet window, qui déclenche ensuite myFunction lorsque la page dans la fenêtre ouverte a fini de se charger.

Assurer la compatibilité avec IE

Il est important de noter que la prise en charge d'Internet Explorer (IE) nécessite une approche légèrement différente :

myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);

Cette syntaxe étendue ajoute de la compatibilité avec IE en tirant parti des méthodes addEventListener et attachEvent.

Bien que la prise en charge d'IE puisse être fastidieuse, il est recommandé de ne le faire qu'en cas d'absolue nécessité en raison de considérations d'audience.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn