java - 本地 Java 小程序未在 Firefox 中显示

标签 java firefox deployment applet

我在本地运行 Java 小程序时遇到问题,即类文件驻留在本地文件系统中,而不是服务器上。下面的例子

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
    <body>
        <applet code="Java10Test.class"
            width=200
            height=200
            codebase="http://www.cis.upenn.edu/~matuszek/General/JavaVersionTests/"
            >
        </applet>
        Text ...
    </body>
</html>

与 Firefox 23 和 Oracle Java 7u25 配合良好。但是,如果我将 Java10Test.class 下载到本地计算机并将其放在与 .html 相同的文件夹中,无论我使用什么代码库,它都不起作用。我尝试了 codebase="."codebase="file:///pathToTheFolder" 但没有成功。 Firefox 甚至没有为小程序保留 200x200 的空间。 Java 也不会在后台启动(Java 控制台不会像所有其他小程序一样打开),即这不是 Java 安全问题。没有警告/错误消息。

本地版本在 Chrome 中运行没有问题。该行为可以在不同的计算机 (Mac/Linux) 上重现。

在 Firefox 中本地使用小程序的正确方法是什么?我需要这个用于无法访问互联网的系统。

最佳答案

What is the correct way to use applets locally in Firefox?

从本地主机的服务器运行它们(例如安装 Apache),它们应该显示与网络上相同的行为。

..it would still be interesting, why the local class file is not used properly.

我认为这与安全有关。 IE 长期以来一直在从本地文件系统加载脚本时提示 HTML 运行脚本。一般来说,“网络”被认为是比您自己的磁盘更安全的环境。

顺便说一句,我运行 FF 并注意到它最近在运行 Deployment Toolkit Script 时开始失败用于嵌入小程序和启动 JWS 应用程序。在我用你的测试之前,我没有意识到它简单地(并且完全)忽略了“本地(unjar'd,未签名)小程序元素”。事实上,它在没有警告或提示的情况下忽略它们,这一事实令人不安,至少对于必须编写或维护小程序的开发人员来说是这样。 :(


确保小程序加载成功的唯一方法是在加载后使用 JS 来查询小程序。如果在特定时间后无法从 JS 访问小程序的公共(public)方法,则假定小程序由于某种原因未能加载并从那里继续。

关于java - 本地 Java 小程序未在 Firefox 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18333210/

相关文章:

java - 使用Jboss部署简单的War文件(J2EE应用程序)时出错

java - 执行方法未在预定时间调用quartz+spring

Java TCP 客户端/服务器和循环问题

firefox - Webdriver:在 Firefox 中单击 "Share Location"按钮

排除 Firefox 3.6 的 Firefox 3 的 CSS 选择器

javascript - 如何从 Create React App/build 文件夹制作 npm 包?

使用 Kryo 序列化对象时出现 java.lang.StackOverflowError

java - 如何编写验证测试?

asp.net - Firefox 在 IIS6 上启用摘要式身份验证的每个 HTTP 请求上都要求输入用户名/密码

azure - 按计划从 VS2013 部署 Azure webjob