在Angular 10中从jar运行applet

问题描述

我必须在Angular 10应用程序中从他的jar中运行一个Java applet,我试图在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"','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>

但是没有用,您有什么建议吗?

解决方法

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

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

我的建议是您更改应用程序体系结构,以避免需要在用户浏览器中运行Java。

如果您无法执行此操作,则此Oracle页面为各种Web浏览器提供了有关如何使Java在浏览器中运行的说明:

请注意,最终用户必须遵循的说明

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...