js之ActiveX 控件说明 new ActiveXObject();

来源:互联网 发布:win2008 r2 数据库 编辑:程序博客网 时间:2024/05/29 18:02

什么是 ActiveX 控件?

ActiveX 控件广泛用于 Internet。它们可以通过提供视频、动画内容等来增加浏览的乐趣。不过,这些程序可能出问题或者向您提供不需要的内容。在某些情况下,这些程序可被用来以您不允许的方式从计算机收集信息、破坏您的计算机上的数据、在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机。考虑到这些风险,您应该在完全信任发行商的情况下才安装这些程序。

当 Windows 阻止 ActiveX 控件的安装时,您应该做什么?

您可能不应该安装该 ActiveX 控件。安装 Windows 阻止的 ActiveX 控件是极为冒险的事情。如果 Internet Explorer 安全设置处于默认级别,并且 ActiveX 控件没有有效的数字签名,Windows 就会阻止该 ActiveX 控件的安装。

有效的数字签名可确认发行商的标识(分发文件的公司、网站或个人),并确认文件自签名以后没有被篡改过这一事实。如果文件没有有效的数字签名,您就无法确定文件是否真的来自它所声明的来源,或者它是否没有被篡改过(例如,可能会有病毒插入控件中)。除非您信任发行商,并且知道文件打开后内容会是安全的,否则,就不应该打开文件。

 

 

 

说明:下面这句话的意思是生成一个相关的Active对象,根据相关的浏览器版本

xmlHttp = newActiveXObject(aVersions[i]);

 

 

这行JS代码是产生一个XMLHttpRequest对象..

括号里面的是ActiveX插件的名字.

完整的应该这样写:

var xmlHttp;

function createXMLHttpRequest() {

if(window.ActiveXObject)

{

var aVersions =["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];

for(int i=0;i<aVersions.length;i++)

{

try

{

xmlHttp = new ActiveXObject(aVersions[i]);

return;

}

catch(oError)

{

}

}

}

else if(window.XMLHttpRequest)

{

xmlHttp = new XMLHttpRequest();

return;

}

throw new Error("XMLHttp object could not becreated.");

}

补充:判断的原因是,各种浏览器对JavaScript的支持不一样..所以XmlHttpRequest对象的产生方式也不一样.比如IE.他支持的是ActiveX的方式.

["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];这些是他ActiveX的版本.

而有些浏览器.象FireFox,浏览器本身有对XmlHttpRequest的支持.浏览器有内置对象.所以用"xmlHttp = new XMLHttpRequest(); "就可以了

 if(window.XMLHttpRequest)是判断浏览器是否内置XmlHttpRequest对象