Question

J'ai été battu ma tête contre cela pour un certain temps. Je suis chargement environ 60 fichiers de script qui doivent respecter une certaine structure de dépendance. Le chargement de ces normalement requirejs ne fonctionne pas, alors je commencé à utiliser le plugin commande.

Le plugin de commande fonctionne très bien dans Firefox 3.6.12, IE7, IE8, mais mes explose d'application dans Chrome 8. Chrome semble exécuter dans l'ordre qu'il se sent comme. Est-ce un problème connu ou sont-il des solutions de contournement?

Était-ce utile?

La solution

Disclaimer, Je suis le développeur principal RequireJS:

Il y a eu un changement dans les webkits nocturne qui rompt le plugin commande. Elle affecte également LABjs. Il a donné lieu à des implémentations de la spécification HTML5 que le comportement de chargement de script dynamique a changé. La bonne chose est que les navigateurs commencent à converger, la mauvaise chose est que la spécification n'a pas pris en compte pour l'exécution ordonnée des éléments de script ajoutés dynamiquement.

L'auteur de LABjs, Kyle Simpson, a été engageant le groupe HTML5 pour obtenir un changement spec officiel qui permet d'ordonner l'exécution de scripts ajoutés dynamiquement. Jusqu'à présent que Firefox nightlies ont mis en œuvre un changement, et je crois que WebKit demandez peut-être aussi. Une autre bonne writeup est par Henri Sivonen .

Cela dit, je pensais que cela a affecté WebKit nightlies, et je ne sais pas si Chrome 8 a repris le changement. Je pense que c'est la raison probable de la rupture, mais mon test unitaire pour le plug-in de commande semble fonctionner pour moi dans Chrome 8.

Si vous confirmez que vous êtes sur Chrome 8 et peut-être pas le canal développeur qui pourrait peut-être avoir un 9 Chrome, ce serait bon de savoir. Il serait également bon de savoir quelle version de RequireJS que vous utilisez. 0,15 a une solution qui correspond à la variation des nightlies Firefox. Si vous utilisez une ancienne version de RequireJS vous pouvez essayer une nouvelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top