这几天用到ActiveX做一个公用的组件,在使用的过程中遇到很多特殊的情况,有ActiveX无法加载,有加载了无法在js里调用等很多状况...头大。
以下内容部分是从网络上搜集整理的,部分是通过自己实践总结的,从网上搜集的部分因为多数只引用了片段,所以未能注明出处。
如果遇到js无法访问ActiveX的情况,可以使用以下步骤解决:
1、检测IE是否禁用了ActiveX
2、检测指定的ActiveX控件是否已经注册并加载到IE
3、IE禁用ActiveX时的解决办法
4、控件未注册或未加载的解决办法
1、检测IE是否禁用了ActiveX,可以使用下列函数进行检测。如果IE禁用了ActiveX,则下面的函数肯定会返回false,对此的解决办法,参见第3点
/**
* 检测是否允许ActiveX控件运行
* @param true-允许ActiveX控件运行;false-不允许ActiveX控件运行
*/
isActiveXEnabled : function() {
//xmlhttp对象
var kXmlHttp = null;
//如果是IE浏览器
if ($.browser.msie!=null && $.browser.msie == true) {
//微软IE支持的xmlhttp对象
var aVersionhs = ["MSXML2.XMLHttp.5.0",
"MSXML2.XMLHttp.4.0",
"MSXML2.XMLHttp.3.0",