代码段:
navigator.plugins.refresh(false);
var a = new ActiveXObject(collab.axName);
if (a) {
version = parseVersion(a.version);
}
我运行与上面非常类似的东西来检查我安装的FB插件的版本。如果它已过时,我将其替换为较新版本(Firebreath bog标准Windows安装程序)。但是,如果我再次运行代码段,则不会检测到新版本 - 新的ActiveX对象具有旧版本号。
ActiveX对象创建似乎是关键 - 在创建对象之前安装更新将正常工作,并且如果重新启动浏览器,则会检测到更新。并且更新在NPAPI浏览器中正常工作(使用navigator.plugins进行版本检测)。
Internet Explorer 10,Windows 7。
我的问题:
这是预期的行为(或指示我的代码中的错误)?如果需要,是否有已知的解决方法或替代方法来实现在不重新启动浏览器的情况下安装更新的相同目标(例如,没有实例化的版本检测,强制执行ActiveX更新检测)?