deployJava.js在IE 11中未检测到JRE
我使用deployJava.js包含如下小程序:deployJava.js在IE 11中未检测到JRE,java,internet-explorer,deployjava,Java,Internet Explorer,Deployjava,我使用deployJava.js包含如下小程序: <script> var attributes = { name:'ForrestGump', id:'ForrestGump', codebase:'java/', code:'ForrestGump', cache_archive:'ForrestGumpSigned.jar', cache_option:'Plugin', initial_f
<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>
变量属性={
姓名:'ForrestGump',id:'ForrestGump',
代码库:'java/',代码:'ForrestGump',
cache_归档文件:'ForrestGumpSigned.jar',
缓存_选项:'Plugin',
初始焦点:false,
宽度:1,高度:1};
var参数={};
var版本='1.7.0';
runApplet(属性、参数、版本);
一些使用IE11(在Windows7中,我不确定Windows8.1)的用户抱怨说,即使已经安装了最新的Java,它也会自动将它们转发到Java下载页面(在加载小程序之前)。我已经通过使用和设置var version='1.1'验证了这一点;在上面的js中,他们说将不会强制特定版本
验证小程序告诉我Java已经安装,即使版本为='1.1',它仍然会重定向它们。我注意到的另一件事是,没有为它们加载。它说没有安装java。重新启动浏览器和电脑似乎对此没有影响
以前有人碰到过这个吗?关于如何禁用deployJava转发到下载页面的任何建议,或者IE 11解决方案。经过深入研究后,这似乎是由于Microsoft更改了Internet Explorer 11报告的用户代理(请参阅)。“deployJava.js”库有自己的浏览器检测函数(getBrowser()),无法正确处理IE11的用户代理 OpenJDK的以下错误报告讨论了此问题:
(o.indexOf(“msie”)!=-1)
与
((o.indexOf(“msie”)!=-1)|(o.indexOf(“trident”)!=-1))
正如T先生在最新的部署java.js中提到的那样,Oracle已经解决了这个问题。但我仍然遇到错误,我仍然被重定向到
尽管我在IE11中安装了最新的JRE。 在深入研究了deployJava.js之后, 在函数测试中使用Activex()得到结果 我将上面的函数修改为下面的
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
}
上述解决方案归功于
虽然不是一个很好的解决方案,但在IE中取消兼容性视图解决了问题。这解决了问题,谢谢。在我的Windows8机器上测试它很困难,因为微软不会让你下载IE11,除非你使用Win7或8.1。想想看,我已经尝试过了,但似乎不适合我。其他人也建议以管理员的身份运行IE。这似乎对一些人起了作用。我正在使用Windows7x86和IE11运行新的JavaU51更新。他们新版本的deployJava.js检查了trident。但在这一点上仍然不起作用。看起来修复程序将进入u55。希望它能在那时很快奏效。
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
}