我有一个应该使用 Java Web Start 打开的存储箱管理页面。但是,在我的 MacBook 上的所有浏览器上,这都不会发生,而是我只得到一个保存有内容的 html 页面:“v6.3.1a Web Tools 10.1.18.222”。
查看页面的 javascript 代码,我看到它正在尝试检测是否安装了正确的 Java Web Start:
function webstartVersionCheck(versionString) {
// Mozilla may not recognize new plugins without this refresh
navigator.plugins.refresh(true);
// First, determine if Web Start is available
if **(navigator.mimeTypes['application/x-java-jnlp-file'])** {
// Next, check for appropriate version family
for (var i = 0; i < navigator.mimeTypes.length; ++i) {
pluginType = navigator.mimeTypes[i].type;
if (pluginType == "application/x-java-applet;version=" + versionString) {
return true;
}
}
}
return false;
}
这里称为:
function writeMozillaData(page) {
versionCheck = webstartVersionCheck("1.5");
if (!versionCheck) {
var pluginPage = "http://jdl.sun.com/webapps/getjava/BrowserRedirect?locale=en&host=java.com";
document.write("The version of Java plugin needed to run the application is not installed. The page from where the plugin can be downloaded will be opened in a new window. If not, please click here: <a href=" + pluginPage + ">Download correct Java version.</a>");
window.open(pluginPage, "needdownload");
} else {
window.location = page;
}
}
我在 mimeTypes 中添加了一个警报,并注意到导航器中没有显示“application/x-java-jnlp-file”的 mimeType。
问题:
- 这是导致浏览器将内容解释为 text/html 并保存 html 的原因吗?
- 如何在此处强制启动 Java Web Start?
我确实有 Firefox 设置表明 jnlp 由 Java Web Start 应用程序处理,因此我怀疑浏览器根本没有将页面解释为 jnlp。