2014-11-24 2 views
0

JavaScript를 사용하여 JAVA 애플릿 내의 메소드에 액세스하고 있습니다.자바 스크립트에서 JAVA 애플릿 메소드 호출, IE/FF 객체/임베드 문제

var applet = document.getElementById("testapplet-object"); 
    var btn = document.getElementById("btn"); 

    btn.addEventListener("click",function(){ 
    applet.callAppletMethod(); 
    }); 

문제는 다음 버튼과 버튼에 관한 코드가이 애플릿에서

<object 
class="cn" id="testapplet-object" 
     classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
     width="300" height="300" 
     codebase="http://java.sun.com/update/1.6.0/jinstall-6u30-windows-i586.cab#Version=1,6,0,0"> 
    <param name="archive" value="TestCom.jar" /> 
    <param name="code" value="TestCom.class" /> 
    <param name="scriptable" value="true" /> 
    <param name="mayscript" value="mayscript" /> 
    <embed class="cn" id="testapplet-embed" 
     type="application/x-java-applet;version=1.6" 
     width="300" height="300" 
     archive="TestCom.jar" 
     code="TestCom.class" 
     pluginspage="http://java.com/download/" 
     myParam="My Param Value", 
     mayscript="mayscript" /> 
    </embed> 
</object> 

된다

애플릿은 HTML 페이지에이 방법을 포함한다 : 이 코드는 IE에서만 작동합니다. Firefox에서 작동하게하려면 getElementById에 "testapplet-embed"를 전달해야합니다 (하지만 IE에서는 작동하지 않습니다).

애플릿 변수를 선언하는 크로스 브라우저가 있습니까?

+0

어떤 해결 방법으로 모두를 사용하는 방법에 대한? – MirecXP

+0

JSObject를 사용해 보셨습니까? – MirecXP

+0

첫 번째 질문 : 나는 같은 이드를 넣을 수 없다. 이드는 고유해야한다. 두 번째 질문 : JSObject를 사용하고 있지만 애플릿 코드는 문제가 아닙니다. –

답변

0

deployJava.js를 사용하십시오. https://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html

var attributes = { 
    id:'testapplet', 
    archive:"TestCom.jar", 
    code:"TestCom" 
    code:'jstojava.MathApplet', 
    width:300, height:300 
}; 
var parameters = {} ; 
deployJava.runApplet(attributes, parameters, '1.6'); 
+0

어제 시도했지만 어떤 이유로 "TestCom"또는 "TestCom.class"를 찾을 수 없기 때문에 어떤 이유로 작동하지 않습니다. –