Comment appeler la fonction javascript à partir du corps d'un document HTML sur pageload-complet
J'ai un peu de javascript (code d'initialisation de google maps si vous êtes intéressés) que je suis obligé de les inclure dans la <body></body>
les balises d'un document html et je voudrais avoir un de mes méthodes de déclenchement sur chargement de la page complète. Le hic, c'est que je n'ai pas accès à la <body>
balise html, donc je ne peux pas faire:
<body onload="foo()">
Est-il un moyen pour accomplir cette? Je me rends compte c'est d'un ridicule scénario. Merci!
utiliser jquery c'est un document prêt et ensuite vous pouvez effectuer les fonctions de base de la charge de l'organisme
J'ai d'abord pensé à l'aide de jQuery, mais les OP pourraient ne pas avoir la possibilité d'inclure des scripts externes j'ai donc opté pour l'utilisation de DOM comme mon exemple. Félix avait une bonne solution. Toutes les solutions, jQuery, DOM, et explicite de l'événement de l'attachement sont tous exploitables et utilisables solutions. @Casey cela dépend vraiment de vos limites, mais jQuery est vraiment le moyen idéal d'aller.
J'ai d'abord pensé à l'aide de jQuery, mais les OP pourraient ne pas avoir la possibilité d'inclure des scripts externes j'ai donc opté pour l'utilisation de DOM comme mon exemple. Félix avait une bonne solution. Toutes les solutions, jQuery, DOM, et explicite de l'événement de l'attachement sont tous exploitables et utilisables solutions. @Casey cela dépend vraiment de vos limites, mais jQuery est vraiment le moyen idéal d'aller.
OriginalL'auteur Casey Flynn | 2011-05-06
Vous devez vous connecter pour publier un commentaire.
En fonction lorsque le code est exécuté, joindre le gestionnaire avec JavaScript:
Comme vous semblez n'avoir aucun contrôle sur la page, nous avons à être un peu plus prudent. D'autres JavaScript pourrait déjà avoir mis un gestionnaire d'événement. Pour être un bon citoyen, nous n'avons pas simplement remplacer le gestionnaire d'événements, mais de conserver une référence à cela dans le cas où il existe.
Toutefois, d'autres code JavaScript pourrait écraser cette fois.
Le meilleur moyen serait d'utiliser le plus avancé de gestion des événements, des méthodes
addEventListener
(W3C) etattachEvent
(IE).Pour plus d'informations sur la gestion des événements, je suggère de lire le d'excellents articles sur quirksmode.org.
merci! Super réponse!
OriginalL'auteur Felix Kling
Si vous utilisez jQuery, vous pouvez utiliser
$(document).ready
:Voir ce tutoriel.
OriginalL'auteur rsbarro
OriginalL'auteur cvsguimaraes
Vous pouvez programattically associer des événements à l'aide de la DOM.
Il devrait être
body.addEventListener("load", myOnloadListener, false);
(sanson
;)). Vous avez besoin"onload"
pourattachEvent
dans IE.oups, bonne prise :). Fixe et ajouté à la poste.
OriginalL'auteur SRM