问题描述
我必须在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在浏览器中运行的说明:
请注意,最终用户必须遵循的说明。