11550 sujets

JavaScript, DOM et API Web HTML5

Pages :
(reprise du message précédent)

Il me semble que ça ne fonctionne pas sous Safari 2, faudrait vérifier Smiley biggrin
Shinuza > grâce à Quentin j'ai compris ce que tu voulais dire, en effet les parenthèses étaient de trop, j'ai pas fait gaffe...
Mais ce paramètre est nécessaire.

Sinon j'ai l'impression qu'il n'y a donc personne qui a réussi, à moins d'utiliser Ajax, ce que je voulais éviter...
Modérateur
a écrit :
Sinon j'ai l'impression qu'il n'y a donc personne qui a réussi, à moins d'utiliser Ajax, ce que je voulais éviter...
C'est à dire ? Qu'est-ce que tu voulais éviter ? Smiley sweatdrop
Le dernier script est sans Ajax et ça fonctionne. (Sauf... peut-être... sur Safari)
Modifié par koala64 (30 Oct 2007 - 16:16)
koala64 a écrit :
Le dernier script est sans Ajax et ça fonctionne. (Sauf... peut-être... sur Safari)


Désolé pour le retard, 1 million de trucs à faire...

En fait le problème c'est qu'on ne peut pas accéder au fichier importé par une autre balise script.
Par exemple si on ajoute :
<script type="text/javascript">
oui();
</script>

juste avant la fermeture </body>, il ne trouve pas la fonction oui(), alors que testImport fonctionne très bien.

Problème de scope j'ai l'impression...
Comme te l'ont tous spécifiés, il faut laisser un minimum de millisecondes au navigateur pour ingurgiter le fichier 'test.js' avant d'éxécuter une de ses fonctions :
loadjs.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Dyna</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript">
	function loadScript(file)
	{
		var e = document.createElement("script");
		e.type="text/javascript";
		e.src = file;
		document.getElementsByTagName("head")[0].appendChild(e);	  
	}
 
</script>
</head>

<body>
<script type="text/javascript">
	loadScript("test.js");
	setTimeout( function() {alert(v);oui()}, 10);// par exemple
</script>
</body>
</html>

test.js
var v = 'ok2';

function oui() {
	alert('oui');
}

J'ai supprimé le supperflu et essayé en local, mais sur un serveur, il faudra prévoir plus de temps.
Smiley cligne
Modifié par chmel (18 Nov 2007 - 21:49)
Pages :