【问题标题】:I want to run java applet in HTML, but it allways have bug我想在 HTML 中运行 java 小程序,但它总是有错误
【发布时间】:2015-05-06 07:18:09
【问题描述】:

我很久以前就尝试在浏览器中启动 Java 小程序(它们是简单的游戏)。很长一段时间它都说 Java 版本过时(现在有最新版本 8 更新 45),即使我在 2 分钟之前安装了最新版本。 NVM,我希望我修复它。现在它说了很多不同的错误:运行时异常或AccessControlExeption for ex。

我在 Eclipse 中运行这些程序并尝试了它们,所以它们可以工作。也许我的 HTML 代码有问题。

    <!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="styles.css">

    </head>
    <body>
        <canvas id="canvas-id" ></canvas>
    </body>

    <applet width="600" height="170" code="theLightRoute.class"></script>
    </applet>
</html>

【问题讨论】:

  • HTML 看起来不错。有堆栈跟踪吗?有要查看的 Java 代码吗?并非普通 Java 程序可以做的所有事情都可以由 Applet 完成。有限制。
  • AccessControlExeption 表示小程序试图做一些你的安全权限不允许的事情,比如读/写本地磁盘上的文件,连接到一个之外的网络它起源于...以及许多其他...您可能想阅读What Applets Can and Cannot Do
  • 为什么&lt;/script&gt; 位于&lt;applet..&gt;&lt;/applet&gt; 部分的中间?尝试删除它?
  • 在这个程序中它说访问控制被拒绝。这里是我使用文件写入的地方:`public void save(String dir){ try { writer=new FileWriter(dir,false); writer.write("#level\r\n"+level); writer.close(); } catch (IOException e) { System.out.println(e); } } `
  • 如果问题是我从计算机加载文件,我如何从网络加载它?

标签: java html security applet accesscontrolexception


【解决方案1】:

首先:您的 HTML 代码无效,请删除您的 &lt;applet/&gt; 部分中的 &lt;/script&gt; 结束标记。即使某些浏览器可以接受它,我认为您也不能期望得到带有无效标签定义的有效结果。

第二&lt;applet/&gt; 标签支持因浏览器而异(请参阅http://www.w3schools.com/tags/tag_applet.asp)。您应该尝试改用&lt;object/&gt;(请参阅http://www.w3schools.com/tags/tag_object.asp

第三:你不能再指望任何现代网络浏览器都支持java小程序,无论你使用什么标签。事实上,出于安全原因,它们中的大多数都默认放弃或禁用了任何 Java 小程序的浏览器端支持。例如对于 Chrome 42,java 支持完全被删除:http://www.infoq.com/news/2015/04/chrome-42-npapi。对于 Firefox 或 safari,应手动启用 https://support.mozilla.org/en-US/kb/how-allow-java-trusted-sites)。

实际上,没有充分的理由再创建一些 java 小程序,这是一项完全被弃用和过时的技术 (https://softwareengineering.stackexchange.com/questions/154537/do-java-applets-have-any-place-on-the-web-today)。

尝试学习 HTML5 来进行游戏编程 :-) 有很多课程可以帮助您,并且有很多 HTML5 游戏引擎可用 (http://html5gameengine.com/)。它是跨平台的,包括移动设备!

【讨论】:

    猜你喜欢
    • 2011-09-02
    • 1970-01-01
    • 2022-07-07
    • 2014-11-15
    • 2015-07-12
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多