Erreur avec setTimeout dans javascript externe - HTML/CSS - Programmation
Marsh Posté le 07-06-2009 à 15:50:17
ReplyMarsh Posté le 07-06-2009 à 21:32:10
tomsoft a écrit : essayes ca
|
Merci pour la réponse tomsoft mais l'erreur reste la même.
J'avais aussi essayé:
Code :
|
mais la fonction test s'exécute tout de suite et c'est suivi de l'erreur ci-dessus...D'autres idées?
Peut-être mettre
Code :
|
mais quel objetMachin?
Au fait cela tourne sous Windows XP.
Marsh Posté le 08-06-2009 à 01:38:40
Au lieu du :
WScript.Echo("Hello world\n" );
Met plutot un :
alert("Hello world\n" );
Comme ca tu vera si ton pb vien du settimeout ou de ton objet.
Marsh Posté le 08-06-2009 à 09:03:48
Merci pour ta réponse Gordon. Le code suivant fonctionne correctement.
Code :
|
Donc le problème vient du setTimeout.
Marsh Posté le 08-06-2009 à 12:29:34
Déclare ta fonction test() dans le head et balande ton settimeout quand tu en as besoin.
Je pense que la fonction doit être déclarée avant utilisation.
Code :
|
Marsh Posté le 08-06-2009 à 12:50:41
bonjour,
>>WScript.Echo("Hello world\n" );
c'esdt pas du javascript mais du VBScript !!!!
j'espère en plus que tu ne mélanges pas serveur/local ( va savoir ?)
exemple en JAVASCRIPT
<script type="text/javascript">
function test()
{ alert("Hello world" ); }
setTimeout(test,5000);
</script>
ça, ça veut bien dire :
dans 5 secondes, lancer la fonction test ! rien de plus !
si tu veux la même chose en VBScript... tu le dis
@+
Marsh Posté le 08-06-2009 à 13:42:37
Merci Pascal pour ta réponse. Mais le code
Code :
|
produit la même erreur.
Marsh Posté le 08-06-2009 à 13:49:10
Code :
|
marche parfaitement chez moi sur IE7, firefox 3+
Marsh Posté le 08-06-2009 à 13:55:13
Merci Bul pour ta réponse. Windows connait par défaut deux langages script javascript et VBScript. La fonction wscript.echo (VBScript) a un équivalent en javascript WScript.Echo. Ainsi avec le code:
Code :
|
j'ai un runtime error. En js, seul WScript.Echo est reconnu.
Il s'agit donc bien d'un javascript mais qui tourne en stand alone sous Windows XP dans un fichier test.js. (Pour l'exécuter je double-click sur le fichier test.js sans l'aide d'un browser).
Marsh Posté le 08-06-2009 à 14:00:42
tomsoft a écrit :
|
Oui mais en javascript externe sous windows XP le code
Code :
|
ne fonctionne pas d'où ma question.
Marsh Posté le 08-06-2009 à 14:12:10
tétu hein !!!!
je me cite :
>>WScript.Echo("Hello world\n" );
c'est pas du javascript mais du VBScript !!!!
par contre
setTimeout(test,5000);
c'est du javascript !!!!!
si tu tiens à tout prix à mélanger les 2, met les
balises script lanagage="vbscript" et script type="text/javascript"
là où il faut !
mais :
WScript.Echo("Hello world\n" ); ne fonctionnera pas
dans une balise <script type="text/javascript">
et
setTimeout(test,5000);
ne fonctionnera pas dasn une balise
<script langage="vbscript">
ce n'est pas le même langage !!!!
@+
Marsh Posté le 08-06-2009 à 14:22:33
bigbang01 a écrit : Merci Bul pour ta réponse. Windows connait par défaut deux langages script javascript et VBScript. La fonction wscript.echo (VBScript) a un équivalent en javascript WScript.Echo. Ainsi avec le code:
j'ai un runtime error. En js, seul WScript.Echo est reconnu. |
je ne suis pas tout à fait d'accord... ton fichier *.js est interprété par wscript.exe, qui est l'interpreteur vbs...
de plus, setTimeout est une fonction js et pas vbs. en vbs on utilise il me semble:
Code :
|
Marsh Posté le 08-06-2009 à 14:32:42
Désolé de te contredire mais je parle bien de javascript et plus exactement de javascript sous Windows.
Le code dans le fichier test1.js qui fait appel au javascript Windows fonctionne correctement:
Code :
|
Marsh Posté le 08-06-2009 à 14:42:52
ce n'est pas parce que l'extension est .js que c'est du javascript.
je te conseille de faire outils>options des dossiers>type de fichiers>js>avancé>modifier l'action "ouvrir" pour te rendre compte que c'est interprété avec wscript qui est l'interpreteur vbscript.
si c'était vraiment du javascript, le code suivant fonctionnerait dans un navigateur:
Code :
|
mais ce n'est pas le cas, et même pas dans ie.
Marsh Posté le 08-06-2009 à 14:44:39
Merci pataluc, c'est la fonction que je recherchais. Mais wscript.exe va charger le moteur script approprié (javascript si c'est un fichier .js).
Marsh Posté le 08-06-2009 à 14:52:55
>>connait par défaut deux langages script javascript et VBScript.
pas dis le contraire !
encore faut-i le lui dire !
et respecter la syntaxe de chacun !!
<script langage="vbsrcipt">
et ici function nom() {.. } ça ne marche pas !!!!!
c'est de la syntaxe javascript
</script>
<script type="text/javascript'">
et ici Wscript.echo : ça ne fonctionne pas !!!
c'est de la syntaxe vbscript !!!!
</script>
on peut appeler l'un à partir de l'autre ! sans souci !
mais mélanger : non !
Marsh Posté le 08-06-2009 à 14:53:21
bigbang01 a écrit : Merci pataluc, c'est la fonction que je recherchais. Mais wscript.exe va charger le moteur script approprié (javascript si c'est un fichier .js). |
non wscript sait charger le moteur JScript, mais JScript n'est pas javascript. (au mieux c'est une implementation non standard de javascript: http://www.google.fr/search?q=jscript+javascript)
Marsh Posté le 08-06-2009 à 15:37:26
Le J de JScript c'est Java non? D'après wikipedia:
Citation : JScript est le nom générique de plusieurs implémentations d'ECMAScript 3 (souvent appelé JavaScript) créées par Microsoft... |
Je reconnais que la confusion est importante entre un javascript utilisé dans les pages web et le javascript (ou ECMAScript ou JScript) windows.
Marsh Posté le 07-06-2009 à 14:52:46
Bonjour,
j'ai créé un fichier texte test.js avec le code suivant:
Le message d'erreur est
Script C:\...\test.js
Line:1
Char: 1
Error: Object expected
Code 800A138F
Source:Microsoft JScript runtime error
Des idées pour résoudre le problème? Merci.
Message édité par bigbang01 le 08-06-2009 à 17:23:17