参见英文答案 >
Auto-Launch JNLP on click1个
我有一个java applet应用程序,我们的客户可以通过我们的网站访问它.由于Microsoft edge和chrome停止支持java插件,我们将applet转换为通过JNLP和Java Web Start启动,不幸的是,在两个浏览器中,JNLP已下载,客户应双击该文件以启动Java Web Start.
我有一个java applet应用程序,我们的客户可以通过我们的网站访问它.由于Microsoft edge和chrome停止支持java插件,我们将applet转换为通过JNLP和Java Web Start启动,不幸的是,在两个浏览器中,JNLP已下载,客户应双击该文件以启动Java Web Start.
解决方法
可能的解决方案
1)更改浏览器中的行为,询问用户单击JNLP链接时要执行的操作.然后,用户可以选择打开方式:Java Web启动启动器或保存文件.
编辑它在Firefox中工作,但它不适用于Chrome:请参阅相关的错误报告10877和open issues
2)为执行javaws https://example.com/your_application.jnlp的用户提供脚本
演示示例(应用程序链接取自Oracle教程:Running a Java Web Start Application)
javaws https://docs.oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp
这将打开一个简单的Java应用程序.
编辑对于无畏的Chrome,有一个hacky解决方案.
>关闭Chrome,并记住始终制作下一步中更改的文件的副本;-)
>在Chrome库中找到chrome.[so | dll]字节jnlp并将其修补为例如jnl-
>在Chrome用户个人资料目录中找到文件偏好设置并将其修改为…
.
"download": { ... "extensions_to_open": "jnlp",... },
下次单击指向JNLP文件的链接时,它将自动打开(使用分配的应用程序打开此文件类型,通常是javaws).
在查看源pref_names.cc后找到该属性.但Chrome将扩展名jnlp视为dangerous,这也是我们需要修补库的原因.