2012-12-19 2 views
1

나는이 HTA 파일 생성 :hta 스크립트가 Internet Explorer 메뉴 항목에서 실행되지 않는 이유는 무엇입니까?

<script type="text/javascript"> 
alert("alert!!!"); 
</script> 

을 그리고 (여기에 설명처럼 : http://msdn.microsoft.com/en-us/library/aa753591(v=vs.85).aspx) IE에서 메뉴 항목을 추가하여 실행합니다. 내 메뉴 항목, 즉 내 메뉴 항목의 레지스트리 키에있는 스크립트 값이 내 hta 파일을 가리키는 것을 볼 수 있습니다. 그래서 메뉴 항목을 눌러도 아무 일도 일어나지 않습니다 (경고가 표시되지 않음). 디버깅을 도와주세요.

+0

HT6이 IE6에서 죽지 않았습니까? 나는 확실하지 않다. –

+0

그냥 ie 메뉴에 항목을 추가하고 싶습니다. 새 탭이나 창에서 내 링크를 열려면. 나는 COM 또는 뭔가를 만들지 않고 어떻게하는지 알고 싶다. – Dmitry

+0

나는 이것을 시도하지 않았지만'Script' 파일은'.js'이거나'.hta' 대신'.wsf' 여야한다고 가정합니다. @Pekka HTAs는 여전히 살아 있으며 IE10에서도 작동합니다 :). – Teemu

답변

0

실제로 MSDN 페이지 끝 부분에는 yecril의 지침이 있습니다. Yecril은 평소와 같이 document을 사용할 수 없다고 말합니다. documentexternal.menuArguments을 통해 참조해야합니다. 실제로는 현재 window 개체를 나타내는 것으로 보입니다.

alert()

window하는 방법입니다, 그래서 스크립트가 있어야합니다 가정 뭔가 같은 :

<script type="text/javascript"> 
    var win = external.menuArguments; 
    win.alert("alert!!!"); 
</script> 

(I이 순수 투기 알고 오히려 코멘트 있어야하지만이 존재 발견 댓글에 너무 광범위합니다.)

+0

사실 나는 htm에서 htm으로 파일 확장자를 변경하고 작동하기 시작했습니다. – Dmitry

1

파일 확장자를 hta에서 htm으로 변경하여 작업을 시작했습니다.)))

+0

흥미 롭습니다. 이제'document'를 사용하여'document'를 참조 할 수 있습니까? 아니면 Yecril의 해킹이 필요합니까? – Teemu

+0

경고 ("경고 !!!"); 그냥 작동합니다. 아무것도 더. IE 8. – Dmitry

관련 문제