2009-10-06 7 views
6

J'ai un script qui sera inséré dans une page inconnue à un moment inconnu. Est-il possible de dire à partir de ce script si window.onload a déjà été déclenché?Est-ce que window.onload a déjà été déclenché?

Je n'ai aucun contrôle sur la page hôte. Je ne peux pas ajouter de balisage ou de scripts. Tout ce que je sais, c'est que mon script sera inséré dans la page à un moment donné. Cela pourrait être avant window.onload ou after; et j'ai besoin de savoir de quel côté je suis.

+0

Je trouve la partie "heure inconnue" curieuse. Est-ce pour un bookmarklet? Inclusion dynamique '

1

Mise à jour Réponse: Look at this site. Il utilise une astuce en voyant si le dernier élément de document.getElementsByTagName (« * ») est défini ou non. Il semble fonctionner dans Opera et IE.


Réponse d'origine: Vous ne pouvez pas vérifier, mais vous pouvez faire:

window.setTimeout(function() { 
    // do your stuff 
}, 0); 

Cela fera vos affaires sans aucun doute une fois la page chargée.

+0

qui se déroulera la fonction avant le DOM est prêt à Opera, et peut l'erreur dans IE Voir http:...//remysharp.com/demo/onload.php pour le problème IE. –

+0

je l'ai mis à jour ma réponse avec une nouvelle information trouvée aujourd'hui. –

+0

Belle trouvaille. Je veux courir cette solution à travers le linge, voir comment il fonctionne. –

Questions connexes