Exécuter JavaScript dans Windows
J'ai pensé que pour certains tests simples qu'il suffit d'exécuter quelques commandes que je voudrais essayer d'utiliser un peu de JavaScript et de l'exécuter à partir de la ligne de commande dans Windows XP.
Donc pour un test rapide, j'ai créé un script
alert('Hello, World!');
Ensuite essayé de l'exécuter
D:\>Cscript.exe hello.js
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.
D:\hello.js(1, 1) Microsoft JScript runtime error: Object expected
Google n'a pas aidé et je suis sûr que je suis absent quelque chose de stupide, qui de vous les gars versé toute la lumière sur les raisons de cette simple script ne s'exécute pas?
pourquoi u sont en cours d'exécution à partir de la ligne de commande au lieu de le mettre dans une page HTML?
Eh bien, j'en sais assez pour savoir que quelque chose que vous faites est déroutant de l'analyseur. Je ne peux pas dire hors du haut de ma tête que si.
peut-être parce que la ligne de commande de windows ne dispose pas de fenêtre.alerte
Eh bien, j'en sais assez pour savoir que quelque chose que vous faites est déroutant de l'analyseur. Je ne peux pas dire hors du haut de ma tête que si.
peut-être parce que la ligne de commande de windows ne dispose pas de fenêtre.alerte
OriginalL'auteur Ne0 | 2012-08-21
Vous devez vous connecter pour publier un commentaire.
Vous appelez une fonction appelée
alert
, mais ce n'est pas une partie de JavaScript (c'est une partie de DOM 0 et est fourni par les navigateurs)Puisque vous n'avez pas défini, vous essayez de traiter
undefined
comme une fonction, il ne l'est pas.Qnan suggère d'utiliser les Echo méthode à la place.
WSH.Echo("Hello world");
au lieuMerci, je suppose que j'ai besoin de lire plus à ce sujet. Pensé qu'il pourrait être plus rapide que l'écriture d'une application java. Je voulais juste un langage de script qui me permettrait d'écrire un petit outil qui produit un décent GUI. Ce n'est pas en train d'être rapide!
OriginalL'auteur Quentin
Essayez d'une fonction nommée remplacer depuis WSH ne prend pas en charge la fenêtre.alerte méthode.
OriginalL'auteur mplungjan
Une bonne approche est de rediriger tous de la sortie habituel, comme dans les exemples suivants. Il vous permettra de tester JavaScript conçu pour le web sans avoir à les réécrire.
test.js
Vous pouvez appeler le script comme ceci:
qui vous donnera:
OriginalL'auteur volkinc
alert
est une méthode de la browswer dewindow
objet. La Fenêtre de l'hôte de script n'est pas de fournir un tel objet.OriginalL'auteur Scott Sauyet
De Microsoft JScript runtime compilateur ne fournit pas le JavaScript natif fenêtres pop-up d'trouvé dans les DOM (Document Object Model) qui est pris en charge par tous les principaux navigateurs d'aujourd'hui. Cependant, cela peut être fait en l'enveloppant d'une fonction (dans votre cas
alert
) autour de la nativeMessageBox
trouvé dans WSH (Windows Script Host) comme avec tout autre langage de script pris en charge avec WSH.Mais, juste pour vous donner une option plus facile... essayez DeskJS. C'est une nouvelle console de style application pour Windows qui est conçu pour s'exécuter JavaScript (ECMAScript 5.1 comme actuellement) du navigateur et prend en charge toutes les règles de base de JavaScript popup boîtes avec d'autres sympathiques ajouts à la langue. Vous pouvez juste l'aimer plus que le navigateur de la console...
OriginalL'auteur cringy