首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >deployJava.js在IE 11中未检测到JRE

deployJava.js在IE 11中未检测到JRE
EN

Stack Overflow用户
提问于 2013-11-20 08:21:34
回答 3查看 11.5K关注 0票数 7

我使用deployJava.js来包含这样的applet:

代码语言:javascript
复制
<script>
    var attributes = {
        name:'ForrestGump', id:'ForrestGump',
        codebase:'java/', code:'ForrestGump',
        cache_archive:'ForrestGumpSigned.jar',
        cache_option:'Plugin',
        initial_focus:false,
        width:1, height:1 };
    var parameters = { } ;
    var version = '1.7.0' ;
    deployJava.runApplet(attributes, parameters, version);
</script>

一些使用IE 11 (在Windows7中,我对Windows8.1不太确定)的用户抱怨说,即使已经安装了最新的Java,它也会自动将它们转发到java下载页面(在applet加载之前)。我已经通过使用Java's Verification applet和在js中设置var version =‘1.1’来验证了这一点,上面他们说不会强制使用特定的版本。

验证小程序告诉我Java已经安装,即使是version='1.1‘,它仍然会重定向它们。我注意到的另一件事是Java Uninstall Tool没有为它们加载。它显示未安装java。重新启动浏览器和PC似乎对此没有影响。

以前有没有人遇到过这种情况?任何关于如何禁止deployJava转发到下载页面的建议,或者IE11的变通方法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-21 03:58:06

经过一些挖掘,这似乎是由于微软改变了Internet Explorer11报告的用户代理(参见here)。"deployJava.js“库有它自己的浏览器检测函数(getBrowser()),它不能正确处理IE11的用户代理。

来自OpenJDK的以下错误报告将讨论此问题:

我尝试过deployJava.js (here)的“官方”版本,但它还没有更新到修复程序。建议的解决方法是修改"getBrowser“方法,使其除了查找"MSIE”之外,还查找"trident“。如果您不想等待Oracle进行更新,您只需创建自己的deployJava.js本地副本并替换:

(o.indexOf("msie")!=-1)

使用

((o.indexOf("msie")!=-1)||(o.indexOf("trident")!=-1))

票数 14
EN

Stack Overflow用户

发布于 2014-05-02 12:22:56

正如T先生在他们最新的deployJava.js中提到的,甲骨文已经解决了这个问题。

但是我仍然遇到错误,我仍然被重定向到http://java.com/en/download/ie_manual.jsp

虽然我在IE11中安装了最新的JRE。在深入研究deployJava.js之后,结果是在函数testUsingActiveX()中

代码语言:javascript
复制
if (typeof ActiveXObject == "undefined" || !ActiveXObject) {
   g("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?");
   return false
}

我将上面的函数修改为下面的函数

代码语言:javascript
复制
if("ActiveXObject" in window)
{
  //do nothing
}
else if (typeof ActiveXObject == "undefined" || !ActiveXObject) {
   g("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?");
   return false
}

归功于SebLD的解决方案

票数 3
EN

Stack Overflow用户

发布于 2014-11-07 17:48:42

虽然不是一个很好的解决方案,但在IE中取消设置兼容性视图解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20085015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档