当前位置: 代码迷 >> Java Web开发 >> js调用applet方法的有关问题
  详细解决方案

js调用applet方法的有关问题

热度:25   发布时间:2016-04-16 22:03:41.0
js调用applet方法的问题
需求:
从服务端读取客户端本地文件,使用js调用applet中的方法。

ScriptApplet.java

import java.applet.Applet;
import java.security.AccessController;
import java.security.PrivilegedAction;

import javax.swing.SwingUtilities;
/**
 * http://127.0.0.1:8080/AppletToLocal/index.html
 * @author Administrator
 *
 */
public class ScriptApplet extends Applet {

public void init() {
}
 
public String doSomething(){
 String cardNum = (String) AccessController.doPrivileged(
          new PrivilegedAction() {
            public Object run() {
                return "123456";
            }
          });
return cardNum;
}
 
public void addNode() {
     SwingUtilities.invokeLater(new Runnable() {  
        public void run() {  
             System.out.println("aaaaaaaaaaaa");
           }  
      });  
}  

public String sayHello(){
return "hello world";
}
}


test.html

<HTML>
<object
id = "appletObject" 
codebase = "d:\"
code="ScriptApplet.class"
ARCHIVE = "AppletToLocal.jar" 
    classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
    WIDTH = "400" HEIGHT = "350" >

    <comment>
<embed
            type = "application/x-java-applet;version=1.6" 
            CODE = "ScriptApplet.class" 
            JAVA_CODEBASE = "d:\" 
            ARCHIVE = "AppletToLocal.jar" 
            WIDTH = "400" 
            HEIGHT = "350"
    scriptable = false
    pluginspage = "http://java.sun.com/products/plugin/index.html#download">
    <noembed>
            
            </noembed>
</embed>
    </comment>
</object>

<!--
<APPLET CODE = "ScriptApplet.class" JAVA_CODEBASE = "d:"" ARCHIVE = "AppletToLocal.jar" WIDTH = "400" HEIGHT = "350">


</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->

<script type="text/javascript">

function getApplet(){
if (document.applets.length > 0){  
return document.applets[0];  
    }else if(document.embeds.length > 0){  
             return document.embeds[0];  
    }else{  
                alert("emxComponents.Common.CanNotStartApplet");  
        return "";  
    }
}

function AppletMessage(){
alert(document.applets[0].doSomething());
var appletObj = document.getElementById("appletObject");  
        appletObj.doSomething();
}

</script>
<input type="button" onclick="AppletMessage();" value="AppletMessage">
</HTML>
------解决方案--------------------
楼主光贴出需求和代码了
没贴问题呢
------解决方案--------------------
顶,我遇到过的第一个问题和这个有关

------解决方案--------------------
开启浏览器调试模式,然后看看具体错误信息是什么。

有没有在浏览器中导入自己用来签名的证书作为信任证书?