【问题标题】:Call JAVA applet method from JavaScript, IE/FF object/embed issue从 JavaScript、IE/FF 对象/嵌入问题调用 JAVA 小程序方法
【发布时间】:2015-01-22 02:11:06
【问题描述】:

我正在使用 JavaScript 访问 JAVA 小程序中的方法。

小程序以这种方式嵌入到 HTML 页面中:

<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>

这个小程序下面有一个按钮,按钮相关代码如下:

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

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

问题是:此代码仅适用于 IE。为了让它在 Firefox 中工作,我必须将“testapplet-embed”传递给 getElementById(但它不会在 IE 中工作)。

是否有任何跨浏览器方式来声明我的小程序变量?

【问题讨论】:

  • 如何同时使用这两种方法?
  • 你试过用JSObject吗?
  • 第一个问题:不能放同一个id,id应该是唯一的。第二个问题:我用的是JSObject但是小程序代码不是问题。

标签: java javascript dom browser applet


【解决方案1】:

使用 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');

【讨论】:

  • 我昨天试过了,但由于某种原因它不起作用,因为它找不到“TestCom”或“TestCom.class”,没有删除:-)
猜你喜欢
  • 2014-08-15
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多