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 相关文章推荐
基于jQuery的js分页代码
Jun 10 Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 Javascript
JS获取网页属性包括宽、高等等
Apr 03 Javascript
JS实现文字放大效果的方法
Mar 03 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
浅谈js中几种实用的跨域方法原理详解
Dec 02 Javascript
利用VUE框架,实现列表分页功能示例代码
Jan 12 Javascript
微信小程序 scroll-view实现锚点滑动的示例
Dec 06 Javascript
支付宝小程序实现省市区三级联动
Jun 21 Javascript
Ant Design Pro 之 ProTable使用操作
Oct 31 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 简易输出CSV表格文件的方法详解
2013/06/20 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
php创建sprite
2014/02/11 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
解决React Native端口号修改的方法
2017/07/28 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
vue实现分页加载效果
2019/12/24 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python提取网页中超链接的方法
2016/09/18 Python
python matplotlib画图实例代码分享
2017/12/27 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
开放系统互连参考模型
2016/06/29 面试题
思品教学工作总结
2015/08/10 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android