gpt4 book ai didi

java - 升级到 JRE 1.7.0_13 后小程序类名称错误

转载 作者:行者123 更新时间:2023-11-29 09:06:32 25 4
gpt4 key购买 nike

我有一个 Firefox 扩展加载了一个包含在扩展本身中的 Java jar。我曾经使用 window.java DOM 对象,所以我可以这样做

var loader = java.net.URLClassLoader.newInstance(urls);
const myClassRef = java.lang.Class.forName("com.me.program", true, loader);
var myJavaObject = myClassRef.newInstance();
//use LiveConnect to directly call stuff on my object now.

在我的扩展程序的 JS 代码中,其中 urls 是一个包含指向 jar 文件的 file:/// uri 的数组。

当 Firefox 删除 window.java 时,我开始在标签中嵌入一个小程序以获取对 java 的引用:

<html:embed id ="appletID" type="application/x-java-applet" 
code="java.applet.Applet" pluginspage="http://java.com/download/" MAYSCRIPT="true" width="0" height="0" />

....

var ref = document.getElementById("appletID");
window.java = ref.Packages.java;

这在更新到 7u13 后不再起作用,可能是由于不再支持嵌入标记中的代码属性。我应该怎么做才能解决这个问题?

我曾尝试直接使用指向我的小程序的 archive= 属性,但问题是因为我在 Firefox 扩展中,所有内容都变成了 chrome:// JRE 仍然无法处理的 uris,并且 file:// uris 似乎不受支持(我收到一条通用权限被拒绝的消息)。

最佳答案

https://bugzilla.mozilla.org/show_bug.cgi?id=748343 的评论 74 和 75 中对此进行了提问和回答。 .

简而言之,最新的 Java 插件不允许 code="java.applet.Applet"。而且似乎没有办法让插件访问扩展中的 jar 文件。解决方法是将一个 jar 文件放在一个可公开访问的 HTTP 站点上; jar 文件只需要包含一些简单的小程序,例如 public class Applet extends java.applet.Applet { }。这是从 Firefox bugzilla 评论复制的覆盖 HTML:

<html:div name="appletDiv">
<html:embed id ="appletID" type="application/x-java-applet"
archive="https://mysite.com/applet.jar" code="Applet"
pluginspage="http://java.com/download/"
MAYSCRIPT="true" width="0" height="0" />
</html:div>

关于java - 升级到 JRE 1.7.0_13 后小程序类名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14707070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com