2 sindelhok sindelhok 于 2016.02.23 12:00 提问

关于使用activeXObject判断IE浏览器
众所周知,IE有个activeXObject对象,来实现浏览器对本地文件的读写; 而其他的浏览器都是使用的XMLHttpRequest对象.

    今天想到了利用IE独有的activeXObject对象来判断是否为IE浏览器,在网上搜到了如下代码

    function isIE() {
        if (!!window.ActiveXObject || "ActiveXObject" in window)  
        return true;  
    else  
        return false;  
}

    但是关于这段代码, 我想知道为什么window.ActiveXObject前面要加两个!!,有什么具体讲究吗?

    然后为什么要这样判断?  "activeXObject" in window 和 window.activeXObject不是一样吗

1个回答

showbo
showbo   Ds   Rxr 2016.02.23 12:10
已采纳

2个!!是为转成布尔变量,加不加无所谓。

"ActiveXObject" in window是为了兼容IE11,IE11不支持window.ActiveXObject,会提示undefined

sindelhok
sindelhok 你帮我解答过好几个问题了 非常感谢~
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
记录:"ActiveXObject" js判断IE浏览器(包括IE11)
转自:https://blog.csdn.net/whupanyinghua/article/details/38026027 做web开发的,因为众所周知的原因,经常需要区别IE及非IE浏览器。其实js判断IE浏览器的方法网上一搜一大把。 这里我要说的是一个用起来比较简单好记且使用的方法,记录如下。 之前,js判断的方式都是利用浏览器的useragent字段。通过判断useragent
利用!!window.ActiveXObject监测IE浏览器
javascript用来区别IE与其他浏览器的方法:1、document.allif (document.all){ alert(”IE浏览器”); }else{ alert(”非IE浏览器”); }2、!!window.ActiveXObjectif (!!window.ActiveXObject){ alert(”IE浏览器”); }else{ alert(”非IE浏览器”); }
js判断IE浏览器(包括IE11)
做web开发的,因为众所周知的原因,经常需要区别
判断是否是IE(包含IE11)
判断是否是IE(包含IE11)  if(!!window["ActiveXObject"] || "ActiveXObject" in window)                 {                   alert("ie");                 }else                 {                     aler
IE中的ActiveXObject对象-基础
切记:ActiveX是微软的东西,故而这玩意儿只有IE才支持! JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用,javaScript中利用ActiveXObject来创建FileSystemObject操作文件。 一、功能实现核心:FileSystemObject 对象 要在javascript中实现文件操作功能,主要就是依
ActivexObject 区分IE浏览器与非IE浏览器
使用ActivexObject 区分IE浏览器与非IE浏览器 IE支持ActiveObject控件,而chrome系列不支持 function isIE(){ if (window.ActiveXObject || "ActiveXObject" in window) { return true; }else{ return false; } }
IE浏览器利用ActiveXObject对象对文件系统进行操作
如果要用网页做一个客户端的程序(无后台),那么就要能对文件系统进行操作。想实现的功能如下:参数配置对象转换成json字符串保存到文件系统, 从文件系统读取字符串转换成json对象。 CreateTextFile(FileName, Overwrite, Unicode) OpenTextFile(FileName, IOMode, Create, Format)var fso = new Act
JavaScript与MySQL交互发现ActiveXObject只有IE能用
在做JavaScript和MySQL的交互,发现必须用ActiveXObject,但是ActiveXObject是微软IE浏览器独有的对象,不存在兼容性,也就是说只有在IE浏览器中才可以使用,如果考虑兼容的话请放弃ActiveXObject吧.其他浏览器都不支持的。
如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)
在IE浏览器下,xmlDom对象一般这样被定义: var xmlDom= new ActiveXObject("Microsoft.XMLDOM");为了兼容Firefox,需要修改为: if (window.ActiveXObject){ var xmlDom=new ActiveXObject("Microsoft.XMLDOM"); } else{ if (documen
非IE内核浏览器如何支持activex插件
之前在一个B/S项目中遇到一个需求,就是客户需要在页面上对报表的布局以及显示内容,进行自定义。最后决定使用activex技术来实现。众所周知,activex是微软搞得,因此只有ie内核的浏览器才能支持。像firefox(火狐)、Chrome、Apple Safari等非ie内核浏览器都不支持activex控件,这样就大大加大了系统使用的局限性。 因此考虑是不是可以让非ie内核浏览器也能支持a