2010-01-02 3 views
0

JSObject 플러그인을 사용하여 자바 애플릿을 통해 쿠키를 작성하고 SUN의 Java로 작업했습니다.MS 인터넷 익스플로러로 자바 애플릿에서 브라우저의 자바 스크립트에 액세스하기

String s1 = "document.cookie='logged=1'"; 
aobj = new Object[] { s1 }; 
JSObject.getWindow(MyAppletWindow).call("eval", aobj); 

단서 : 자바 스크립트 명령을

을 undefined를 반환합니다 MS JVM으로

하지만, 나는 내 애플릿에서 다음을 발행하고있어?

+0

) 브라우저에서 단순한 HTML로 똑같은 javascript를 수행하는 경우 작동합니까? –

+0

네, 같은 스크립트로 작동합니다. –

답변

1

먼저 Microsoft VM이 LiveConnect을 지원한다는 사실을 확신하지는 않습니다. 이는 JavaScript < -> Java 통신에 필요합니다.

또한 Microsoft VM은 최대 1.1 버전의 Java 만 지원합니다. 어쨌든 애플릿을로드하지 않는 것은 시대에 뒤쳐져 있으며 IE의 상태 표시 줄에 유명한 typo applet not inited이 보이십니까?

javac -source 1.1 -target 1.1 Foo.java

: 당신이 최근의 컴파일러를 사용하는 경우 사실, 당신은 단지 1.1 호환 라이브러리를 사용하는 경우에도 .. 당신은 심지어 1.1 VM에 의해 로딩 할 수 있도록 몇 가지 농구를 통해 도약 할 것

요약하면 마이크로 소프 트 VM은 매우 오래되었으므로 대신 Sun VM을 대상으로 지정해야합니다 (자세한 내용은 태그를 사용하여 read this article

+0

저는 구식 기술 (MSJVM)을 지원하는 모든 번거 로움을 갖고 싶지 않습니다. 그러나 그것은 제가 선택한 것이 아닙니다. 라이브 연결은 꽤 새롭기 때문에 MS를 지원하는 옵션이 아니라고 생각합니다. 하지만 JSObject는 확실히 사용할 수 있지만 MSJVM에서 정의되지 않은 JavaScript 반환 문제는 무엇인지 알지 못합니다. –

+0

컴파일러를 사용하면 새로운 라이브러리를 사용하지 않는 경우 1.1을 대상으로하는 것이 어렵지 않습니다. –

+0

MS JVM은 현재 지원을 중단했습니다. 마감 기한이 1 ~ 2 회 연장 된 후에도. Sun JRE를 사용하지 않을 때의 제한 사항은 무엇입니까? – Keibosh

관련 문제