J'ai besoin d'attendre la priorité de documents dans mon javascript, d'insérer un div au bas du corps.
Je veux: p>
Inlinge de la source de jQuery dans mon fichier serait trop gros, alors je recherche d'autres méthodes. Est-ce que quelqu'un connaît-il un snippet JS cela peut faire ça? Ou devrais-je simplement copier une partie de la source de jQuery? P> J'ai réussi à ramper la source de jQuery et de mettre avec l'extrait suivant: p> Merci beaucoup de m'aider à trouver ceci dans la source de jQuery. Je peux maintenant mettre tout cela dans une fermeture et faire mon travail sans exporter aucune fonction et polluer la portée globale. P> p> window.onload code> fonctionnerait, mais je souhaite spécifiquement la priorité de documents et n'attendez pas la fenêtre window.Onload code> événement. p>
3 Réponses :
Il y a Plusieurs implémentations pour «Domready» fonctions, mais la plupart que je puisse trouver semblent un peu datée, donc je ne sais pas comment ils se comporteront avec IE8 et tels. P>
Je recommanderais d'utiliser JQuery's Ready (), comme je pense qu'il promet la compatibilité la plus cross-navigateur. Je ne suis pas un expert dans le code source de JQuery, mais Ce a > Semble être le bon endroit (lignes 812-845 ou recherche de BindReady code>). p>
Vous pouvez commencer par script: http://snipplr.com/view/6029/domreadyjs/ , non optimisé (mais travail) pour le dernier safari, cependant (par exemple, utilisez la minuterie au lieu de prises en charge DomContentOached). P>
Une option serait de simplement obtenir le Vous pouvez probablement mince vers le bas un peu pour le code que vous n'avez pas besoin. Ensuite, exécutez à travers le compresseur YUI, et il devrait être assez faible. p> Je l'ai essayé, et ce code a fonctionné correctement: p> core.js code> jQuery à partir GitHub.
/*!
* jQuery JavaScript Library v1.4.2
* http://jquery.com/
*
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*/
Merci d'avoir souligné ce morceau de code délicat! J'ai changé le code afin qu'il n'exporte aucun global, mais la fonctionnalité est la même.
@ Atila - De rien. Les seuls globaux doivent être $ code> et jQuery code>. Certainement une bonne idée de se débarrasser de $ code>. En outre, devrait inclure les informations de copyright appropriées.
AHM, merci de me rappeler d'inclure les informations appropriées sur le droit d'auteur. Je ne prends aucun crédit pour cela, car tout le code réel vient à l'origine de JQuery, je n'ai renommé que quelques fonctions pour correspondre à mon goût :)
Donc, l'implication ici est que si j'injecte le 2.0.3 JQuery Core.js dans le test de mon site Web, j'aurais accès à sa fonction «Ready» et simplement en l'injectant, il désactive l'auditeur «DomContentOaD» à l'ancienne?
Vous pouvez récupérer la source de jQuery du serveur de Google, qui vous donnerait un bon changement de Cachedd déjà.