【问题标题】:Run applet from jar in Angular 10从 Angular 10 中的 jar 运行小程序
【发布时间】:2021-01-08 12:33:31
【问题描述】:

我必须在 Angular 10 应用程序中从他的 jar 中运行 Java 小程序,我尝试在 Chrome、IE11 和 Edge 上运行,但我所有的尝试都没有成功。

我做了以下事情:

  • 将jar文件放入我的组件的Angular文件夹中(包含组件的html、scss和ts文件); 我在 html 文件中添加了这两个:
    <script language="Javascript">
    
      var _app = navigator.appName;
    
      if (_app == 'Mozilla') {
        document.write('<embed code="MyClass.class"',
          'width="200"',
          'height="200"',
          'type="application/x-java-applet;version=1.8.0">');
      }
      else if (_app == 'Microsoft Internet Explorer') {
        document.write('<OBJECT ',
          'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"',
          'width="200"',
          'height="200">',
          '<PARAM name="code" value="MyClass.class">',
          '</OBJECT>');
      }
      else {
        document.write('<p>Sorry, unsupported browser.</p>');
      }
    
    </script>
    

还有这个:

<object
  codetype="application/java" classid="java:TableManager.class"
  classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
  archive="my_jar.jar" width="740" height="400">
  <param name="code" value="MyClass.class">
</object>

还有这个:

<applet code="MyClass.class" archive="my_jar.jar" type="application/x-java-applet" height="300" width="550"></applet>

但没有任何效果,您有什么建议吗?

【问题讨论】:

  • 浏览器控制台中有什么有用的输出吗?
  • 没什么,在 IE 中只有一次:“此页面上的代码禁用了前后缓存。有关更多信息,请参阅:go.microsoft.com/fwlink/?LinkID=291337

标签: java html angular applet


【解决方案1】:

许多现代网络浏览器根本不再支持 Java 小程序,而那些确实需要用户明确启用支持的浏览器。

为什么?因为用于 Web 浏览器的 Java 插件因存在安全漏洞而臭名昭著,这些漏洞会使用户的计算机面临被恶意小程序入侵的风险。

我的建议是更改应用程序架构以避免在用户浏览器中运行 Java。

如果您不能这样做,此 Oracle 页面会针对各种 Web 浏览器提供有关如何让 Java 在浏览器中工作的说明:

请注意,最终用户需要遵循说明

【讨论】:

    猜你喜欢
    • 2013-06-30
    • 1970-01-01
    • 2021-04-08
    • 2021-11-10
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    相关资源
    最近更新 更多