Question

J'utilise le code HTML suivant pour charger le dojo à partir de l'hébergement de Google.

<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("dojo", "1.1.1");</script>
<script type="text/javascript">
dojo.require("dojox.gfx");
...

Cette erreur sur la ligne de requête avec une erreur telle que dojox.gfx est indéfinie. Existe-t-il un moyen de résoudre ce problème ou Google ne prend-il pas en charge les extensions Dojox?

Sinon, y a-t-il un autre hôte commun que je peux utiliser pour les versions de dojo standard?

Était-ce utile?

La solution

Différemment de lorsque vous référencez les fichiers .js directement à partir du & script > tag (notez que google js api prend également en charge cette fonctionnalité, voir ici ), google.load n'est pas synchrone. Cela signifie que lorsque votre code atteindra google.load, il n'attendra pas que le dojo soit entièrement chargé pour continuer à analyser; il ira directement à votre ligne dojo.require et y échouera car l'objet dojo ne sera pas défini.

La solution (si vous ne souhaitez pas utiliser la balise < script > directe) directe, consiste à inclure tout votre code faisant référence à dojo dans un début . fonction, et la définir comme un rappel, en faisant:

google.load("dojo", "1.1.1", {callback: start});

function start() {
    dojo.require("dojox.gfx");
    ...
}

ou

google.setOnLoadCallback(start);
google.load("dojo", "1.1.1");

function start() {
    dojo.require("dojox.gfx");
    ...
}

Autres conseils

Une meilleure question est: pourquoi voudriez-vous? Si vous développez sur votre hôte local, utilisez simplement un chemin relatif, si vous développez sur un serveur faisant face à Internet, collez les fichiers dojo dessus.

Assurez-vous également que votre règle d'origine est identique

Je pense que Google devient l’espace de noms de vos bibliothèques importées. Essayez: google.dojo.require.

Oh! Et comme indiqué ci-dessous, n'oubliez pas d'utiliser google.setOnLoadCallback au lieu d'appeler directement votre fonction.

dojox est pratiquement non entretenu et sera retiré du dojo-2. La plupart des widgets du dojox posent de gros problèmes, il n’ya que quelques bons.

Le dojo IMHO devrait être auto-hébergé, car il y a toujours des choses que vous devez écraser - par exemple, vous avez besoin de quelques corrections dans ce dojox.gfx.

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