par
Hermès » 12 déc. 2007, 11:52
En fait je viens de tester et effectivement ça marche.
La raison qui faisait que ça ne fonctionnait pas chez moi c'est simplement parce que je passais par du jquery.
Le code suivant fonctionne bien :
HTML :
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html"/>
<title>Test</title>
<script type="text/javascript">
var maVarExterne = "maVarExterne";
</script>
<script type="text/javascript" src="js/test.js"/>
</head>
<body onload="start();">
</body>
</html>
test.js :
Code : Tout sélectionner
var maVarInterne = "maVarInterne";
function start() {
alert(maVarInterne);
alert(maVarExterne);
}
-> on a bien 2 popup successives qui vont afficher "maVarInterne" puis "maVarExterne".
Par contre, quand je passe par du jquery plutôt que par une fonction onload sur le body, ça ne fonctionne pas :
HTML :
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html"/>
<title>Test</title>
<script type="text/javascript" src="js/jquery-1.2.1.min.js"/>
<script type="text/javascript">
var maVarExterne = "maVarExterne";
</script>
<script type="text/javascript" src="js/test.js"/>
</head>
<body>
</body>
</html>
test.js :
Code : Tout sélectionner
var maVarInterne = "maVarInterne";
$(document).ready(function() {
alert(maVarInterne);
alert(maVarExterne);
});
-> il affiche bien une popup avec "maVarInterne" mais me pète une erreur "maVarExterne is not defined".
Donc mon problème évolue un peu vu que ça devient un problème de jquery et non de javascript...
Bref, y'a-t-il une méthode en jquery pour accéder aux variables externes ?
Par ailleurs, si je met la déclaration de la variable après l'inclusion du test.js, là il ne m'ouvre aucune popup et ne m'affiche pourtant aucune erreur. Bizarre...
En fait je viens de tester et effectivement ça marche.
La raison qui faisait que ça ne fonctionnait pas chez moi c'est simplement parce que je passais par du jquery.
Le code suivant fonctionne bien :
HTML :
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html"/>
<title>Test</title>
<script type="text/javascript">
var maVarExterne = "maVarExterne";
</script>
<script type="text/javascript" src="js/test.js"/>
</head>
<body onload="start();">
</body>
</html>
[/code]
test.js :
[code]
var maVarInterne = "maVarInterne";
function start() {
alert(maVarInterne);
alert(maVarExterne);
}
[/code]
-> on a bien 2 popup successives qui vont afficher "maVarInterne" puis "maVarExterne".
Par contre, quand je passe par du jquery plutôt que par une fonction onload sur le body, ça ne fonctionne pas :
HTML :
[code]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html"/>
<title>Test</title>
<script type="text/javascript" src="js/jquery-1.2.1.min.js"/>
<script type="text/javascript">
var maVarExterne = "maVarExterne";
</script>
<script type="text/javascript" src="js/test.js"/>
</head>
<body>
</body>
</html>
[/code]
test.js :
[code]var maVarInterne = "maVarInterne";
$(document).ready(function() {
alert(maVarInterne);
alert(maVarExterne);
});[/code]
-> il affiche bien une popup avec "maVarInterne" mais me pète une erreur "maVarExterne is not defined".
Donc mon problème évolue un peu vu que ça devient un problème de jquery et non de javascript...
Bref, y'a-t-il une méthode en jquery pour accéder aux variables externes ?
Par ailleurs, si je met la déclaration de la variable après l'inclusion du test.js, là il ne m'ouvre aucune popup et ne m'affiche pourtant aucune erreur. Bizarre...