这几天用到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",
"MSXML2.XMLHttp",
"Microsoft.XMLHttp"];
//IE创建方式
for (var i=0; i<aVersionhs.length; i++) {

本文介绍了在使用ActiveX控件时可能遇到的问题,包括如何检测IE是否禁用了ActiveX,如何检查控件是否已注册并加载,以及解决IE禁用ActiveX和控件未注册或未加载的方法。详细步骤包括修改浏览器设置、检查注册表信息和注册控件。

7724

被折叠的 条评论
为什么被折叠?



