问题描述
TL;DR
有没有办法让网页(使用 Javascript 或其他任何东西)判断 Firefox(特别是)或任何浏览器(一般)是否知道如何打开具有给定扩展名的文件?特别是当它是一个 *.jnlp
文件时?
这里不能依赖 MIME 类型。
完成问题
我目前正在重构我们今天仍在销售的一个非常古老(约 15 年)的 Web 应用程序。这个应用程序由两部分组成:一个几乎完全用 PHP 编写的服务器端和一个用 Java 开发的客户端,通过 提供给客户端Java Web Start,使用 JNLP 文件。我知道 Java 11 现在已弃用它,但我们仍在使用兼容的 JDK。
问题来自提供应用程序的服务器的欢迎页面。它以前包含一些我现在丢弃的 VBScript 部分,以及一些 Javascript 部分,如果 JWS 可用,则将用户重定向到 JNLP 文件位置,否则重定向到 Oracle 相应页面(当时)。为此,用于检查它是否受支持的程序执行以下操作:
t = navigator.mimeTypes['application/x-java-jnlp-file'];
if (t) { … }
到目前为止这似乎是公平的,但我意识到这种 MIME 类型一定是由插件指示的,在这种特殊情况下是 Java 的,它在编写时几乎和 Flash 一样常见。安装 Java 插件后,运行 Java Web Start 应用程序确实应该没有任何困难。
但是,今天不再安装此插件。只有 JDK 位于磁盘上,JWS 应用程序通过 javaws
命令运行。 JNLP 文件在第一次从浏览器打开时作为 Open with…
操作在浏览器中关联。
因此我的问题是:我们是否可以判断此操作是否已经完成,如果是这样我可以直接将页面重定向到文件,否则向用户显示明确的说明?
非常感谢大家。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)