0

J'utilise une technologie qui repose malheureusement sur l'ancien framework Prototype.js (consultez ce site web d'allure moderne!). Je voudrais inclure un graphique sigma.js sur la page, mais juste mettre la balise de script à importer sigma donne cette erreur:Puis-je importer un fichier de bibliothèque Javascript (dans ce cas sigma.js) dans une fonction auto-exécutable?

TypeError: sigma.utils.matrices is undefined sigma.min.js:2 

Je ne sais pas la cause exacte de cela, bien que je have asked , mais je pense que c'est en conflit avec Prototype.js.

Est-il possible de mettre tout mon code sigma.js dans une fonction auto-exécutable, avec l'importation de sigma.js, de sorte qu'il ne soit pas en conflit?

+0

avez-vous mis à jour à la dernière version de prototypejs (Avril 2014)? cela pourrait résoudre votre problème –

+0

Malheureusement, je ne contrôle pas du tout l'importation de Prototype, car elle est générée par un outil. Je promets si je vous dis tous les détails que vous allez secouer la tête et d'accord :) –

Répondre

0

Essayez comme ceci:

(function(sigma){ 
//your usage of sigma  sigma.classes.graph.... 
})(sigma); 
+0

Merci! Comment puis-je également importer la chose d'une manière noctambule? –

+0

Je suppose que vous pouvez utiliser un nom de variable locale qui est unique '(function ($ s) {$ s.classes.graph ....}) (sigma)', mais re déclarer sigma dans la portée locale devrait déjà avoir été fait ce – andrew

+0

Je pense que je suis source de confusion. Quand je dis importation, je veux dire littéralement la balise de script qui indique au navigateur d'obtenir le fichier javascript. Actuellement si je mets juste cela - et rien d'autre - comme une balise de script normale dans mon navigateur, j'obtiens le message d'erreur dans la question. –

Questions connexes