js之ActiveX控件使用说明 new ActiveXObject()


Posted in Javascript onMarch 03, 2014

什么是 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对象

Javascript 相关文章推荐
JavaScript的面向对象(二)
Nov 09 Javascript
在IE浏览器中resize事件执行多次的解决方法
Jul 12 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
Feb 16 Javascript
JavaScript实现点击自动选择TextArea文本的方法
Jul 02 Javascript
编写高性能Javascript代码的N条建议
Oct 12 Javascript
AngularJS中的Directive自定义一个表格
Jan 25 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
基于Vue实现电商SKU组合算法问题
May 29 Javascript
深入了解Hybrid App技术的相关知识
Jul 17 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 #Javascript
SeaJS入门教程系列之完整示例(三)
Mar 03 #Javascript
jquery实现点击弹出层效果的简单实例
Mar 03 #Javascript
jquery实现弹出层完美居中效果
Mar 03 #Javascript
jquery实现弹出层遮罩效果的简单实例
Mar 03 #Javascript
SeaJS入门教程系列之使用SeaJS(二)
Mar 03 #Javascript
Jquery.Form 异步提交表单的简单实例
Mar 03 #Javascript
You might like
PHP的FTP学习(四)
2006/10/09 PHP
php生成xml简单实例代码
2009/12/16 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php经典算法集锦
2015/11/14 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
jQuery Ajax之load()方法
2009/10/12 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
竞选村长演讲稿
2014/04/28 职场文书
实验室的标语
2014/06/20 职场文书
大学毕业生个人总结
2015/02/28 职场文书
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB