我们都知道ie的标准和w3c的一些标准有些区别,特别是低版本的ie,所以我们经常要判定该浏览器是否为ie浏览器。

方法1:
document.all

if(document.all){alert("这是ie浏览器");
}

在ie下,document.all可以取出document下的所有子节点,但是该方法只能支持ie10以下的版本(包括ie10)。
当我们在ie11的控制台下输出document时,会发现document.all为undefined

但是在ie11下document还是有all存在,后来发现使用如下方法可以兼容所有的ie浏览器。

if("all" in document){alert("这是ie浏览器");
}else{alert("这不是ie浏览器");
}

方法2:
这是一种比较简短的方式,但是只支持ie8(包括ie8)以下的浏览器

if("\v"=="v"){ alert("这是IE浏览器!");
}else{ alert("这不是IE浏览器!");
}

因为在低版本ie中会把"\v"当作是字符v来解析,但是其他浏览器中会把"\v"当作是垂直制表符来解析。

方法3:
这也是一种比较简短的方式,也是只支持ie8(包括ie8)以下的浏览器

if(-[1,]){ alert("这不是IE浏览器!");
}else{ alert("这是IE浏览器!");
}

对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。但是ie则不会。
标准浏览器[1,]会返回“1”,但是ie会返回“1,”。然后前面加-,转换为数字类型时,ie会转换为NaN。

方法4:

最后这种方法原理与方法1类似。
我们都知道ie的window下有一个ActiveXObject对象,可以通过这个对象来判断是不是ie浏览器

if(window.ActiveXObject){alert("这是ie浏览器");
}else{alert("这不是ie浏览器");
}

但是后来会发现在ie11下还是不支持,如果在ie11输出typeof window.ActiveXObject 发现会undefined;

console.log(typeof window.ActiveXObject);

但是在ie11下还是存在有ActiveXObject对象的,后来发现使用如下方法可以兼容所有的ie浏览器。

if("ActiveXObject" in window){alert("这是ie浏览器");
}else{alert("这不是ie浏览器");
}

如何判定当前浏览器是ie浏览器相关推荐

  1. 使用JS判定PC浏览器和IE浏览器

    JavaScript不管是判断PC浏览器还是手机浏览器,都是通过User Agent 来判断. <coding-1 lang="other"> <script t ...

  2. 什么是浏览器指纹追踪(浏览器指纹追踪修改,浏览器指纹追踪技术)

    浏览器指纹追踪 现实世界可通过体貌特征.身份证件.生物特征(如指纹信息)等手段对用户进行唯一性识别.Web 世界主要通过 Cookies 技术.浏览器指纹.WebRTC 等技术进行识别. 典型追踪技术 ...

  3. python 打开网页、封装自己的浏览器、制作浏览器、打开麦克风和摄像头、忽略ssl证书错误、置顶、无边框

    python 打开网页.封装自己的浏览器 selenium 下载浏览器和浏览器驱动 功能全面,就是不能无边框 pip install selenium from selenium import web ...

  4. 前端获取浏览器标识_浏览器缓存机制

    最近在项目中遇到了 IE浏览器因缓存问题未能成功向后端发送 GET类型请求 的bug,然后顺藤摸瓜顺便看了看缓存的知识,觉得有必要总结跟大家分享一下. 在前端开发中,性能一直都是被大家所重视的一点,然 ...

  5. a++浏览器_走进浏览器内部—剖析浏览器是如何工作的(上)

    最近工作需要一直在和浏览器打交道.每天都为如何解决那些浏览器间的兼容性而困扰.时间长了自然而然对浏览器也产生了感情.准备学习学习,自己写个浏览器.为此开始学习了 Rust,一门用于写底层,但看上去又像 ...

  6. 获取浏览器高度_QQ浏览器违法收集用户信息,你的浏览器还安全吗?

    近日一条"QQ浏览器违法收集个人隐私"的热点话题悄然展开,主要讲的是江西的许先生在使用QQ浏览器的时候,QQ浏览器没有经过个人同意私自同步他的个人信息. QQ浏览器是腾讯开发的一款 ...

  7. 360手机浏览器_360手机浏览器9.0新功能测评

    写在前面:鉴于360手机浏览器发布了全新的版本,为了更好地和大家展示介绍这款全新的版本,决定和大家做一次市面上主流的国产浏览器测评,因个人能力和精力有限,文章中可能出现一些不足和错误,也希望大家批评指 ...

  8. 微信支付—微信H5支付「非微信内部浏览器-QQ/UC浏览器等」

    前言 微信支付-微信H5外部浏览器支付「本文」 微信H5内部浏览器支付「待写」 PC端扫码支付「待写」 一直计划着写一写微信支付相关的文章,希望能加深一下自己的印象,拖了一天又一天- 最近终于空出时间 ...

  9. 升级浏览器_星愿浏览器升级至6.3.2000.2001

    玩懂手机网资讯,星愿浏览器升级至6.3.2000.2001,可能很多玩友都不熟悉这款浏览器,星愿浏览器(Twinkstar Browser)是一款使用chromium内核来自一首英文歌曲< Tw ...

  10. 360浏览器登录_浏览器发展历史介绍及当今主流浏览器的详细对比

    作为访问internet的工具,浏览器已经成为我们日常生活中必不可少的上网工具了,它能让你加入全球的网络,通过一个窗口就能够连接世界.当你用浏览器时有没有想过浏览器的发展历史?面对市场上繁多的浏览器你 ...

最新文章

  1. 对象分割--Instance-sensitive Fully Convolutional Networks
  2. pdf2htmlex linux 编译,如何安装编译pdf2htmlex实现pdf到html的格式转换功能
  3. ios 内存深度优化_iOS 25个性能优化/内存优化常用方法
  4. leetcode-3-无重复字符的最长子串
  5. 数学专业考研及读研目录[2014年11月7日更新]
  6. DOM查找元素的方法总结
  7. java字符串拼接_这样写Java,同事直呼666
  8. 使用OLE DB方式连接常用数据库的连接字符串的设置
  9. tesseract 提升 速度_京东研发效能提升,从正确地实施度量开始
  10. NOI2018退役记
  11. Windows系统镜像下载
  12. 毕业设计 基于STM32停车管理系统 - 物联网
  13. 我从零开始学黑莓开发的过程
  14. 树的专项练习(补充)
  15. 158玩游戏平台最新上线
  16. 一座城市靠税收能年入多少钱?
  17. 微信支付和支付宝支付整合(异步回调篇)
  18. 七月三日服务器维护,7月3日全部服务器更新维护公告
  19. 学习布局(21)HTML5新标签
  20. Linux内核设计与实现(十)| 页高速缓存和页回写

热门文章

  1. iOS中下划线字体的实现
  2. 《我们到底应该怎么吃》读书笔记-- 待续
  3. 论文精读:Mask R-CNN
  4. win7ie11调用java失败,win7纯净版系统下ie11无法加载java插件
  5. Flutter 动态加载自定义字体
  6. 问题杂谈:教你读懂UML图
  7. 大二(下)微机与接口技术 流光发生器的设计
  8. 小老虎CSDN博客流量分析
  9. 如何有效练习英语口语
  10. MyBatis配置文件,节点顺序