Wil*_*m W 7 java internet-explorer deployjava
我正在使用deployJava.js来包含这样的applet:
<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>
Run Code Online (Sandbox Code Playgroud)
一些使用IE 11的用户(在Windows 7中,我不确定Windows 8.1)抱怨它会自动将它们转发到Java下载页面(在加载applet之前),即使已经安装了最新的java.我已经通过使用Java的Verification applet和设置var version ='1.1' 来验证这一点; 在上面的js中,他们说不会强制使用特定版本.
验证小程序告诉我已安装Java,即使版本='1.1',它仍然会重定向它们.我注意到的另一件事是Java卸载工具没有为它们加载.它说java没有安装.重新启动浏览器和PC似乎对此没有任何影响.
有没有人遇到过这个?关于如何禁止deployJava从转发到下载页面的任何建议,无论是什么,或者IE 11的解决方法.
Mr.*_*. T 14
经过一番挖掘后,这似乎是由于Microsoft更改了Internet Explorer 11报告的用户代理(请参阅此处)."deployJava.js"库具有自己的浏览器检测功能(getBrowser()),并且它无法正确处理IE11的用户代理.
OpenJDK的以下错误报告讨论了这个问题:
我尝试了deployJava.js(此处)的"官方"版本,但尚未使用修复程序进行更新.建议的解决方法是修改"getBrowser"方法以查找除"MSIE"之外的"三叉戟".如果您不想等待Oracle进行更新,您可以创建自己的deployJava.js本地副本并替换:
(o.indexOf("msie")!=-1)
同
((o.indexOf("msie")!=-1)||(o.indexOf("trident")!=-1))