我有一个java applet应用程序,我们的客户可以通过我们的网站访问它 . 由于Microsoft edge和chrome停止支持java插件,我们将applet转换为通过JNLP和Java Web Start启动,不幸的是,在两个浏览器中,JNLP已下载,客户应双击该文件以启动Java Web Start .
我们的客户对这种行为感到非常失望,我正试图找到解决这个问题的方法 .
1 回答
9
可能的解决方案
1) 更改浏览器中的行为,询问用户点击 JNLP link 时要执行的操作 . 然后用户可以选择 Open with: Java web start launcher 或 save file .
edit 它's working in Firefox but it doesn'与Chrome合作:查看相关的错误报告10877和open issues
1 回答
可能的解决方案
1) 更改浏览器中的行为,询问用户点击
JNLP link
时要执行的操作 . 然后用户可以选择Open with: Java web start launcher
或save file
.edit 它's working in Firefox but it doesn'与Chrome合作:查看相关的错误报告10877和open issues
2) 为执行的用户提供脚本
javaws https://example.com/your_application.jnlp
演示示例(从Oracle教程中获取的应用程序链接:Running a Java Web Start Application)
这将打开一个简单的Java应用程序 .
edit 对于无所畏惧的Chrome,有一个hacky解决方案 .
关闭Chrome,并记住要始终制作下一步中更改的文件的副本;-)
在Chrome库中找到
chrome.[so|dll]
字节jnlp
并将其修补为例如jnl-
在您的Chrome用户 Profiles 目录中找到文件
Preferences
并将其修改为....
下次单击指向JNLP文件的链接时,它将自动打开(使用分配的应用程序打开此文件类型,通常是
javaws
) .在查看源pref_names.cc后找到该属性 . 但Chrome将扩展名
jnlp
视为dangerous,这也是我们需要修补库的原因 .