Considérons l'affaire suivante: p>
Il y a une image de 2,5 Mo dans une balise Au cas où il tire lorsque tout le HTML est téléchargé, comment puis-je l'éviter? P>
Comment faire le code> et je suis sur une connexion lente qui prend beaucoup de temps pour télécharger cette image. Si je mettez le document
.Ready () code> dans l'étiquette de tête, attendez-vous que l'image soit téléchargée ou que tout ira lorsque tout le HTML est téléchargé? P>
Ready () code> Fonction Fonction après le transfert de données de 2,5 Mo? p>
4 Réponses :
Comme dans le documentation :
tandis que JavaScript fournit l'événement code> charger code> pour exécuter le code quand un La page est rendue, cet événement n'est pas déclenché avant tous les actifs comme des images ont été complètement reçues. Dans la plupart des cas, le Le script peut être exécuté dès que la hiérarchie DOM a été pleinement construit. p> blockQquote>
il est donc lorsque les balises
code> sont chargées, mais pas les données réelles des images. P>
Exemple de chargement des images et de déclencher un événement quand ils sont chargés: p>
xxx pré> p>
Ensuite, que se passe-t-il si je le souhaite de tirer quand l'image de 2,5 Mo est téléchargée?
$(window).load(...)
et nous devrions indiquer ici que lorsque nous disons que le «DOM est chargé», nous voulons dire que d'abord le HTML est analysé et rendu (uniquement le HTML, sans les ressources téléchargées), puis le DOM, en fonction du HTML, est créé.
pour citer La documentation de prêt () code> : P >
tandis que JavaScript fournit l'événement de chargement du code d'exécution lorsqu'une page est rendue, cet événement n'est pas déclenché tant que tous les actifs tels que des images ont été complètement reçus. [...] Le gestionnaire transmis à .Readady () est garanti d'être exécuté après que le DOM soit prêt à [...] p> blockQuote>
Alors oui, il peut tirer avant que les images em> soient chargées (c'est ce que c'est pour, après tout). Il adresse même cela explicitement: p>
Dans les cas où le code repose sur des actifs chargés (par exemple, si les dimensions d'une image sont requises), le code doit être placé dans un gestionnaire pour l'événement de chargement. P> blockQuote>
La documentation pour
charge () code> est ici: http: // API .jquery.com / Load-Event / P>
Tout à l'intérieur $ (document) .Readady () code> sera chargé dès que le DOM est chargé et avant que le contenu de la page (HTML) soit chargé. P>
Simple Docs Recherche aurait répondu à cette question. API.JQUERY.COM/READY
Les documents simples ont provoqué un peu de confusion et ma question est non seulement de .Readady (), il s'agit également d'appeler la fonction .Readady () après que le transfert de 2,5 Mo est terminé :)
@Rohan:
prêt () code> n'est pas la bonne fonction de le faire, il existe une autre fonction pour cela, à savoir,charge () code>. Utilisez les bons outils pour le bon travail - Les tournevis sont pour les vis, les marteaux sont pour les ongles, ils ne sont pas interchangeables; c'est aussi simple que ça.