2009-10-17 5 views
3

자바 스크립트에서 일부 스크립트를 수행해야합니다. 나는 그것에 대해 연구 중이지만 몇 가지 문제에 대한 몇 가지 해결책을 찾지 못했습니다.데스크탑에서 JavaScript를 사용하기위한 자습서

우선 내가 좋은 지침서가 필요하지만 인터넷 페이지가 아닌 DESKTOP 스크립트가 필요합니다. 같은

상황이 밖으로 찾을 수 없습니다 : 내 프로그램을 디버깅하기 위해 간단한 메시지 상자를 원 1), 내가 사용 : 그것을 실행하는 경우

var name = prompt("What is your name","Type Name Here"); 

내가

"을 기대 객체"의 오류

2) 오페라의 최신 시험판은 a runtime for JS applications 역할을하는 파일

답변

12

귀하의 의견에 따르면, 나는 당신이 Windows에서 직접 JavaScript 파일을 실행하려고하는 것 같아요. Windows에서 .js 파일을 두 번 클릭하면 (아마도) Windows Script Host에서 실행됩니다.
WSH는 브라우저 내장 엔진과 완전히 다른 API을 제공하므로이 방법으로는 prompt() 함수가 작동하지 않습니다.

다음 코드는 사용자의 의도를 충족시켜야합니다. 그러나 간단한 팝업 이상을 원한다면 HTAs이 JScript를 사용하여 복잡한 GUI를 데스크탑에서 수행하는 유일한 방법입니다.

var fso, ws, ts; 
fso = new ActiveXObject('Scripting.FileSystemObject'); 
ws = WScript.CreateObject('WScript.Shell'); 

var ForWriting= 2; 
ts = fso.OpenTextFile('foo.txt', ForWriting, true); 
ts.WriteLine(new Date().getTime()); 
ts.Close(); 

ws.Popup('Wrote to file!'); 

var ForReading= 1; 
ts = fso.OpenTextFile('foo.txt', ForReading, false); 
var fileContents = ts.ReadLine(); 
ts.Close(); 

ws.Popup('The file contained: ' + fileContents); 

WScript.Quit(); 
+0

메시지 상자에서 InputData를 수행하는 방법을 알고 계십니까? –

+0

사용하려고 할 때 : var theResponse = window.prompt ("환영?", "여기에 이름을 입력하십시오."); 윈도우의 오류가 정의되지 않았습니다. (데스크톱 응용 프로그램에 있음) –

+1

JScript는 프롬프트와 유사한 팝업을 지원하지 않지만 VBScript는 지원합니다. JScript에서 VBScript "InputBox"를 호출하는 방법에 대한 자습서가 있습니다. http://wsh2.uw.hu/ch08c.html 해당 자습서에서는 Internet Explorer를 통해 프롬프트를 표시하는 방법에 대해서도 설명합니다. – brianpeiris

1

을 여는 방법을 찾을 수 없습니다.

그들은 tutorials describing how to use it입니다.

다음과 같이 사용했습니다. var name = prompt ("당신의 이름은 무엇입니까?", "유형 이름 여기"); 그것을 실행하는 경우

나는

은 아마도 런타임 프롬프트 구현하지 않습니다 "예상 객체"의 오류가 발생하는 인수와 호환되는 방법으로 그.

2)이 사용하는 런타임에 의존하는 파일

을 여는 방법을 찾을 수 없습니다. JS 자체에는 파일을 읽거나 프롬프트를 표시하기 위해 내장 된 것이 없습니다. 이러한 객체를 제공하는 환경이 필요합니다.

+0

웹 브라우저 comipler 응용 프로그램을 찾고 있지 않습니다. 나는 데스크톱 애플리케이션을 찾고있다. –

+2

** ** JS를 사용하는 데스크탑 애플리케이션을 작성하는 데 필요한 자습서이다 ** - 런타임으로 오페라를 사용하는 것들 (그리고 당신은 일종의 런타임 (또는 컴파일러)을 플레이해야한다. 너는 다만 원본이있다). 이 기사는 "브라우저를 열지 않고도 원하는 위젯을 실행할 수 있습니다"라는 것이 매우 분명합니다. – Quentin

+0

나는 indows에있어, inorder를 사용하여 객체 에러를 얻지 못한다. –

4

내가 물어야 할 질문 : 자바 스크립트가 왜 직업에 적합한 도구입니까? Python, Ruby, Lua 등과 같이 이런 방식으로 사용되도록 의도 된 스크립팅 언어를 사용하지 않는 이유는 무엇입니까?

Microsoft의 JScript를 사용하고 있다면 (사용자가 생각하는 것처럼) MSDN 웹 사이트를 방문하여 도움을 받으십시오. here 페이지가 상당히 좋은 것처럼 보입니다. Google도 도움이 될 수 있습니다.

Java 사용에 신경 쓰지 않는다고 가정하면 Mozilla Rhino 쉘을 사용할 수도 있습니다. 하지만 자바 스크립트로 콘솔에서 표준 방식으로 읽는 것처럼 보이지 않습니다. (아마도 이것은 자바 스크립트 애플리케이션에서 일반적으로 요구되는 것이 아니기 때문에 ...) built in JavaScript functions in the shell은 매우 기본적인 것처럼 보이지만 파일을 읽을 수 있습니다.

또한 examples의 Rhino 사용에 도움이 될 수 있습니다. Java API와 인터페이스하여 다른 작업을 수행 할 수 있습니다.

편집 : 나는이 답변을 오래 전에 작성했습니다. 오늘은 node.js을 사용할 것입니다. 그들의 learning 페이지를보십시오.

+0

Scriptin에 대한 지식은 매우 좁습니다. 나는 평생 2,3 편의 스크립트를 썼다. 나는 2 일 전에 그것을 필요로했고 나는 VB와 JS를 보았다. 나는 파이썬으로 더 많이 보일 것이다. 내 필요한 스크립트는 작은 것을위한 것입니다. –

+0

사용하려고 할 때 : var theResponse = window.prompt ("환영?", "여기에 이름을 입력하십시오."); 윈도우 오류가 정의되지 않았습니다. (데스크톱 응용 프로그램에 있음) –

관련 문제