Java Vendor 및 버전 정보를 얻고 싶습니다.document.applet.method가 사파리 6 + JDK7 with Mounatin Lion
최근 내가 사파리 6에서 언급 한 것처럼 아래의 HTML 파일을 실행할 때 예외가 발생합니다 (형식 오류 'undefined'는 함수가 아닙니다) Mac Mountain Lion 및 document.MyApplet.getJavaVendor()에 Java 1.7.0.7이 설치되었습니다.
하지만 자바 1.6.0.35에서도 똑같이 작동합니다.
애플릿이로드되지 않을 때까지 위에서 언급 한 예외가 발생하지만 일단 애플릿이로드되면 정보를 예상대로 가져와야합니다.
추가 정보 : 나는 파이어 폭스에서도 동일한 작업을 시도했는데, 거기에는 JRE와 완전히 똑같이 작동합니다.
애플릿 HTML 코드 :
<applet name="MyApplet" codebase = "./code/" archive="MyApplet.jar" code="MyApplet.class" width="1" height="1" style="border-width:0;" MAYSCRIPT=true>
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.4"/>
<PARAM NAME="cache_option" VALUE="plugin"/>
<PARAM NAME="cache_archive" VALUE="MyApplet.jar"/>
<PARAM NAME="cache_version" VALUE="5.6.3.1"/>
<PARAM NAME="scriptable" VALUE="true"/>
<PARAM name="codebase_lookup" value="false"/>
</applet>
자바 스크립트 코드 :
function verifyJRE() {
try {
var tmpVendor = document.MyApplet.getJavaVendor();
var tmpVersion = document.MyApplet.getJavaVersion();
var strJavaVendor = new String(tmpVendor);
var strJavaVersion = new String(tmpVersion);
if ((strJavaVendor.indexOf("Apple") != -1) || (strJavaVendor.indexOf("Sun") != -1) || (strJavaVendor.indexOf("Oracle") != -1)) {
// Do something;
} else {
// Do Something; }
} catch (e) {
iCount++;
if (iCount < 10)
// waiting for Applet to Load;
setTimeout('verifyJRE()', 200);
else {
// logout from application;
}
}
애플릿 코드 :
는import java.applet.Applet;
import java.io.PrintStream;
public class MyApplet extends java.applet.Applet {
private String strJavaVendor;
private String strJavaVersion;
public MyApplet() {
}
public void init() {
strJavaVendor = System.getProperty("java.vendor");
strJavaVersion = System.getProperty("java.version");
}
public String getJavaVendor() {
System.out.println(new StringBuilder("Java Vendor is: ").append(strJavaVendor).toString());
return strJavaVendor;
}
public String getJavaVersion() {
System.out.println(new StringBuilder("Java Version is: ").append(strJavaVersion).toString());
return strJavaVersion;
}
}
누군가는이 문제를 좀 도와 주 시겠어요?
Java 버전의 사용자 감지'deployJava.js'가하는 것 이상합니까 무엇입니까? 또한이 애플릿을 배포하는 데 동일한 스크립트를 사용하지 않는 이유는 무엇입니까? –
나는 JRE 버전 인 deployJava.js에서 공급 업체 이름을 얻을 수 없다고 생각합니다. – varuag
''HTML 4.01 이후'applet' 요소가 사용되지 않았을뿐 아니라'param' 요소가 'self-close'가 아니었다. 그것은 대신 '형식이어야합니다. –