在引用jQuery时,引用高版本的Jq会在IE8下报错,在网上查了一下,jq在2.0+的版本就已经放弃对ie8的支持了。之前没有仔细研究过jq版本,借此机会去看了一下jq版本的知识。
一、如何查看jq的版本
  $.fn.jquery

  

  

  

  

  可见,这个方法在压缩、未压缩、高版本、低版本都可用

  撸代码

  未压缩版本

    https://cdn.bootcss.com/jquery/2.0.0/jquery.js

      line:49

      core_version = "2.0.0",//定义当前版本号

      line:98

      

  已压缩版本

    https://cdn.bootcss.com/jquery/1.11.2/jquery.min.js

      

二、低版本jq在ie下不报错,高版本jq在ie下报错

    

  查看2.0.0的源码,只有addEventListener,显然IE不支持这个方法,IE下添加事件监听需要用attachEvent

      

  再看1.11.2的版本源码,有点长,做了对addEventListener的判断,不支持的话走attachEvent

    

 当然这只是使用高版本jq报的第一个错误,事情走到这一步就已经明了了,查看jq官网对浏览器的支持 http://jquery.com/browser-support/

 我们找到这样一段话

  

英语不好,拿谷歌翻译了一下 :(Current-1)和Current表示我们支持浏览器的当前稳定版本及其之前的版本。 例如,如果当前版本的浏览器是24.x,我们支持24.x和23.x版本。

  最后一句话,想要支持ie6-8,使用jq1.12-.

总结起来就是一句话:jQuery2.0.0版本没有attachEvent所以ie8下会报错(当然ie8下报错不止这一个原因,但这是要想修复高版本jq在ie8下报错首先要解决的问题,这回牵扯出一系列的ie8兼容问题,这些兼容问题jq1.12-已经解决了,官方推荐ie8下使用1.12还是有原因的)

    

jQuery2.0.0版本以后不再支持ie8的原因的更多相关文章

  1. 番茄日志发布1.0.3版本-增加Kafka支持

    番茄日志(TomatoLog)能做什么 可能你是第一次听说TomatoLog,没关系,我可以从头告诉你,通过了解番茄日志,希望能帮助有需要的朋友,番茄日志处理将大大降低你采集.分析.处理日志的过程. ...

  2. 高版本chrome不再支持window.showmodaldialog 的临时替换方案【用window.open】

    接管别人的项目,因开发时用了showmodaldialog 导致最近很多用户chrome升级到最新之后 就无法弹窗了.原因是新版chrome[37+]不再支持showmodaldialog. show ...

  3. vue不支持IE8的原因

    当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性, 并使用 Object.defineProperty 把这些属性全部转为 getter ...

  4. Jquery3.x高版本支持IE8

    最近在做项目的时候,遇到一个安全漏洞的问题 检测到目标站点存在javascript框架库漏洞 解决办法是 将受影响的javascript框架库升级到最新版本. 好吧,就给你升吧,升完之后,我的天啊,尽 ...

  5. Sentinel 1.5.0 正式发布,引入 Reactive 支持

    近日,流控降级组件 Sentinel 的又一个里程碑版本 1.5.0 正式发布. 该版本引入 Reactive 的支持,并提供多项新特性与改进.从 1.5.0 版本开始,Sentinel 仅支持 JD ...

  6. 【转帖】Gitlab 从 12.1 版本开始将不再支持 MySQL !

    Gitlab 从 12.1 版本开始将不再支持 MySQL ! Gitlab 官方宣布,将从 12.1 版本开始不再支持 MySQL 数据库. http://news.51cto.com/art/20 ...

  7. jQuery 2.0发布,不再支持IE6/7/8

    有时发现jQuery库引用的都对,javascript代码写的也没问题,可是jquery就是出现问题,额--我发现换个jquery库就没问题了,长时间不关注jquery的问题而已: 很多人都没有使用最 ...

  8. 【转】Rancher 2.0 里程碑版本:支持添加自定义节点!

    原文链接: http://mp.weixin.qq.com/s?__biz=MzIyMTUwMDMyOQ==&mid=2247487533&idx=1&sn=c70258577 ...

  9. 可遇不可求的Question之MySql4.0前版本不支持union与批量SQL提交

    批量SQL提交 参考 21.2.6. Connector/NET Connection String Options Reference . Allow Batch true When true, m ...

随机推荐

  1. 关于sql更新最后一个逗号的去除或则最后的and的去除

    去除最后的逗号substr_replace($update_sql ,"",-1);去除最后的and substr_replace($update_sql ,"" ...

  2. rsync配置文件模板

    用脚本实现服务端rsyncd的部署cat /server/scripts/rsync_install.sh #!/bin/bash #安装包 yum install -y rsync &> ...

  3. Ubuntu 设置静态 IP

    一.背景 如果没有设置静态IP,由于某些情况,会导致系统的 IP 地址发生变化. 为了避免 IP 发生变化,就需要进行静态 IP 的设置. 注:这里 Ubuntu 版本为 19.10 二.解决方案 1 ...

  4. day47-线程-锁和死锁

    #1.锁:防止多个线程同时读写某一块内存区域. from threading import Thread from threading import Lock def func(): global n ...

  5. window下mysql安装步骤

    1. 官网下载mysql zip包 2. 解压后再D:\database\mysql\mysql-5.7.26-winx64下添加my.ini文件,文件内容如下: [mysql]# 设置mysql客户 ...

  6. linux的nohup命令的用法(后台运行程序命令)

    linux的nohup命令的用法. 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/ ...

  7. Elasticsearch Rest模式和RPC模式性能比较

    Elasticsearch 有两种链接模式,即Rest方式(对应端口9200)和RPC方式(对应端口9300)这两种访问效率到底差多少,在同样的业务逻辑下,测试了一波. 用的JMeter进行压力测试 ...

  8. BZOJ 2318: Spoj4060 game with probability Problem (概率dp)(博弈论)

    2318: Spoj4060 game with probability Problem Description Alice和Bob在玩一个游戏.有n个石子在这里,Alice和Bob轮流投掷硬币,如果 ...

  9. 多对多表创建、forms组件、cookie与session

    多对多表的三种创建方式 1.全自动(较为推荐) 优势:不需要你手动创建第三张表 不足:由于第三张表不是你手动创建的,所以表字段是固定的无法扩展 class Book(models.Model): ti ...

  10. 基于TCP的大文件发送、UDP、socketserver

    基于TCP的大文件发送 #server服务端 import struct import json import os import socket server = socket.socket() # ...