Executar o JavaScript nas janelas
pensei que para alguns testes simples que apenas executam alguns comandos eu iria tentar usar algum JavaScript e executá-lo a partir da linha de comandos no Windows XP.
Então para um teste rápido criei um scriptalert('Hello, World!');
depois tentei executá-lo
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
O Google não ajudou e tenho a certeza de que me está a escapar algo estúpido. algum de vocês pode esclarecer porque é que este guião simples não funciona?
5 answers
Tente uma substituição de função com nome, dado que o WSH não suporta a janela.método de alerta.
if (!alert) alert = function foo(s){WScript.Echo(s)}
alert("hello world");
Uma boa abordagem é redirecionar toda a saída usual como em um exemplo a seguir. Ele permitirá que você teste JavaScript projetado para web sem precisar reescrever.
Teste.js
var console = {
info: function (s){
WSH.Echo(s);
}
}
var document = {
write : function (s){
WSH.Echo(s);
}
}
var alert = function (s){
WSH.Echo(s);
}
console.info("test");
document.write("test2");
alert("test3");
Podes chamar o guião assim:
Cscript.exe test.js firstParam secondParam
Que te dará:
test
test1
test2
alert
is a method of the browswer's window
object. A máquina de scripting da janela não fornece tal objeto.
O compilador JScript da Microsoft não fornece os popups nativos de JavaScript, tal como encontrados no DOM (Document Object Model), que é suportado por todos os navegadores principais de hoje. No entanto, isto pode ser feito se envolver uma função (no seu caso alert
) em torno do nativo MessageBox
encontrado no WSH (Máquina de programação do Windows) como com qualquer outra linguagem de programação suportada pelo WSH.