2010-01-11 5 views
0

il y a quelque temps, je lisais un article (une bibliothèque construite par un gars) sur la façon dont sa bibliothèque peut faireLazy résolution de chargement et la dépendance

  1. chargement paresseux de JS
  2. résoudre les dépendances entre les JS (généralement rencontré lors de l'essai pour "inclure" un js d'un autre)
  3. inclure des fichiers une seule fois. pensaient spécifié plusieurs fois indépendamment de la façon dont ils sont appelés (soit directement spécifiant comme fichier ou spécifiant comme l'une des dépendances )

J'ai oublié de signet, quelle erreur. Quelqu'un peut-il me diriger vers quelque chose qui peut faire ce qui précède. Je sais que DOJO et YUI bibliothèque ont quelque chose comme ça, mais je suis à la recherche de quelque chose que je peux utiliser avec jQuery

Je suis probablement à la recherche d'un autre dispositif aussi bien.

  • Mon site a des contrôles utilisateur asp.net ( des extraits de code côté serveur réutilisable) qui ont un certain JS. Certains d'entre eux obtiennent tiré tout de suite, lorsque la page est chargement qui donne un mauvais utilisateur expérience. Yahoo performance guidelines préciser que JS doit être au bas de la page, mais ce n'est pas possible dans mon cas comme cela me obligerait à séparer les JS et du côté du serveur correspondant contrôle dans des fichiers différents et entretien serait difficile . I peut certainement mettre un jQuery document.ready() dans mon contrôle utilisateur JS pour s'assurer qu'il ne déclenche que après le chargement du DOM, mais je suis à la recherche d'une solution plus simple.

Y at-il de toute façon que je pourrais dire « commencer à exécuter tout JS seulement après DOM a chargé » d'une manière globale que simplement écrire « document.ready » au sein de chaque contrôle utilisateur?

Répondre

0

A propos des scripts de chargement paresseux thingy, la plupart des bibliothèques ajoute simplement un élément de script < > dans le HTML pointant vers le fichier JS à « inclus » (assynchronously), tandis que d'autres comme DOJO, récupère c'est des dépendances à l'aide d'un XMLHttpRequest et puis eval est son contenu, le faisant fonctionner de manière synchrone.

J'ai utilisé le YUI-Loader qui est assez simple à utiliser et vous n'avez pas besoin de toute la bibliothèque pour le faire fonctionner. Il y a d'autres bibliothèques qui vous donnent juste cette fonctionnalité spécifique, mais je pense que YUI est le choix sûr. En ce qui concerne votre dernière question, je ne pense pas qu'il y ait quelque chose comme ça. Vous auriez à le faire vous-même, mais ce serait similaire à l'utilisation document.ready.

2

Microsoft Research a proposé un nouvel outil appelé DOLOTO. Il peut prendre soin de réécrire la division de fonction & et permettre le chargement js à la demande possible.

Depuis le site ..

Doloto est un système qui analyse charges de travail applicatives et effectue automatiquement le code de fractionnement grandes applications Web 2.0 existants. Après avoir été traitée par Doloto, une application va initialement transférer uniquement la partie du code nécessaire pour l'application initialisation. Le reste du code de l'application est remplacé par petits bouts - leur code est transféré paresseusement dans le fond ou, au plus tard, à la première exécution.

+0

+1, je ne connaissais pas DOLOTO – ram

0

j'ai fait dans mon cadre une chose semblable:
j'ai créé un include_js (fichier); qui incluent le fichier js seulement s'il n'est pas inclus en le lisant et en l'exécutant avec un appel ajax synchrone. Mettez simplement ce code en haut de la page qui nécessite des dépendances et vous avez terminé!

Questions connexes