2010-10-31 17 views
0

Le script JavaScript fonctionne avec Chrome et Firefox mais pas avec Safari. Le code est:Safari génère l'erreur "Impossible de trouver la variable" bien qu'il soit déjà défini dans une autre page Javascript

$(document).ready(function(){ 
    $(window).load(function() { 
     myVariable.start(); 
    }); 

Cela génère:

ReferenceError: can't find variable: myVariable 

La variable est définie dans une autre page JavaScript qui est inclus dans cette page, mais pour une raison Safari ne voit pas la définition dans l'autre page. Safari exécute-t-il ce script sans charger la page dans laquelle la variable est définie?

Comment puis-je résoudre ce problème?

Merci pour toute aide

+0

Impossible de dire avec si peu de contexte, mais il n'y a pas portée inhérente différence entre Safari et d'autres navigateurs en ce qui concerne les scripts externes. 'myVaraible' ressemble cependant à un problème d'orthographe. – bobince

+0

S'il vous plaît montrer le code exact. Comment intégrez-vous l'autre fichier JavaScript? –

Répondre

0

Essayez d'éviter de définir des variables globales. Peut-être essayer assigner votre variable à l'objet de la fenêtre, au-dessus de la page:

window.myVariable = { start: function() {} }; 

Puis, quand vous en avez besoin:

$(window).load(function() { 
    window.myVariable.start(); 
});