本篇为总结开发过程当中遇到的各种IE兼容性的小问题,比较复杂的会单开一篇文章来讲解。

另:我手头目前只有原生IE8,原生IE9,原生IE11,以及IE11模拟的IE5,7,8,9,10。因IE6太过古老而不再进行测试。

无法使用jquery的outerHTML的方式创建含有href属性的a标签(IE5-8)

问题复现:

typeof $("<a href='xxx'>").get(0);//IE7-8:"undefined"
typeof $("<a href='xxx'>").get(0);//标准浏览器:"object"

影响浏览器:

测试 模拟IE5 模拟IE7 模拟IE8 原生IE8 模拟IE9 原生IE9 模拟IE10 原生IE11
 !!$("<a href='xxx'>").get(0) N N N N Y Y Y Y
!!$("<a>").attr("href","x").get(0) Y Y Y Y Y Y Y Y

解决方案:

typeof $("<a>").attr("href","xxx").get(0);//IE8 "object"

使用Date对象来构造新Date对象导致毫秒值丢失(所有IE,火狐)

详见——FireFox和IE下使用Date来构造新Date对象的BUG

IE下console对象报错

详见——让IE兼容console——“由于出现错误80020101而导致此项操作无法完成”的解决方案

IE8下congsole.log的typeof为object

详见——IE8下的typeof(console.log)为"object"的BUG

IE8下Event.button的值与标准浏览器不一致

IE8以下的所有鼠标事件(mousedown,mouseup,click等)的event.button的值与标准浏览器不符,测试只在IE8-中出现。

问题复现:

$("body").mousedown(function(e){
console.log(e.button);//各浏览器不一致
})

影响浏览器:

e.button值测试 IE5 IE7 IE8 IE9 IE10 IE11 火狐 谷歌
鼠标左键 1 1 1 0 0 0 0 0
鼠标中键 4 4 4 1 1 1 1 1
鼠标右键 2 2 2 2 2 2 2 2

解决方案:

使用jquery的e.which属性(1:左键,2:中键,3:右键)可以实现夸浏览器的一致性

同时在jquery1.9.1的源码中可以找到对此问题的兼容解决方案

// Add which for click: 1 === left; 2 === middle; 3 === right
// Note: button is not normalized, so don't use it
if ( !event.which && button !== undefined ) {
event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
}

IE8下超过31个link style标签后失效

在IE8下最多仅允许31个link style标签,按照在HTML页面中出现先后顺序,从第32个style标签起,及以后的都无效。

解决方案只能发布前做标签合并,再发布。

IE兼容BUG汇总及解决方案(持续更新)的更多相关文章

  1. 那些不兼容 IE11的网站(持续更新)

    此博文用于收集不兼容 IE11 的网站,持续更新,请网站开发者自己认领: 兼容性引起的功能缺陷: v.qq.com (提示未安装 Flash 播放器,这问题我反馈几百年了,还没修复) tv.sohu. ...

  2. 【STM32-V7】STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2019-12-12)

    说明: 争取做更多的实战性应用,分享更多的嵌入式技术,希望能在实际项目中帮到大家. (1)V7将大力加强对初学者的支持力度,已经更新至63章,下载链接,后37章和一批视频教程将加紧制作. (2)事隔五 ...

  3. Linux学习资料网站汇总链接(持续更新ing)

    排名不分先后. 学海无涯苦作舟. 博客: 1.slmba:LINUX博客原创大牛 2.edsionte's TechBlog:Linuxer (他的友情链接中还有一堆Linuxer,被公司屏蔽进不去. ...

  4. js的兼容问题以及解决方式(持续更新)

    我们在使用js操作页面的时候兼容问题是很常见的,下面将常见的兼容问题及其对应的解决方法分享给大家,并持续更新: 1.获取事件对象的兼容写法: IE中:window.event     正常浏览器中:对 ...

  5. .Net免费公开课视频+资料+源码+经典牛逼 汇总篇【持续更新】

    博主推荐一:WP8.1最经典培训教程 博主点评:经典Windows Phone8.1 Runtime API培训最经典教程,此教程由传智播客蒋坤老师录制的一整套WP8.1入门级视频教程,讲授内容非常广 ...

  6. C语言遇到的错误和解决方案~~~持续更新,记录成长的过程

    1.error C2296: '&' : illegal, left operand has type 'char [3]' scanf("%d" &x); 少了一 ...

  7. 关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】

    最近一直用ASP.NET MVC 4.0 +LINQ TO SQL来开发设计公司内部多个业务系统网站,在这其中发现了一些问题,也花了不少时间来查找相关资料或请教高人,最终都还算解决了,现在我将这些问题 ...

  8. 《WCF技术剖析》博文系列汇总[持续更新中]

    原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...

  9. 中国.NET:各地微软技术俱乐部汇总(持续更新中...)

    中国.NET:各地微软技术俱乐部汇总(持续更新中...)   本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by ​史记微软. ...

随机推荐

  1. matplotlib常见绘图基础代码小结:折线图、散点图、条形图、直方图、饼图

    一.折线图 二.散点图 三.条形图 四.直方图 五.饼图 一.折线图折线图用于显示随时间或有序类别的变化趋势 from matplotlib import pyplot as plt x = rang ...

  2. leetcode——Search for a Range 排序数组中寻找目标下标范围(AC)

    Given a sorted array of integers, find the starting and ending position of a given target value. You ...

  3. 需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP

    需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP 需求:过滤下面这个网页里共723行 校对中里 行数为两位数 ...

  4. Python笔记 #13# Pandas: Viewing Data

    感觉很详细:数据分析:pandas 基础 import pandas as pd import numpy as np import matplotlib.pyplot as plt dates = ...

  5. sudo pm2 提示 找不到命令

    一共有 3 台 staging 环境服务器,5 台生产环境服务器,centos7系统.前阵子刚给所有研发配置了自己的账号,今天有小伙伴说,在其中两台服务器上 sudo pm2 list 提示: sud ...

  6. 2017-2018-1 JaWorld 团队作业--冲刺5

    2017-2018-1 JaWorld 团队作业--冲刺5(20162310) 团队项目之战斗机类分析博客 总结 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模 ...

  7. postman中如何使用OAuth

    https://learning.getpostman.com/docs/postman/sending_api_requests/authorization/ Authorization The a ...

  8. ImportError: cannot import name 'izip & TypeError: 'float' object cannot be interpreted as an integer

    ImportError: cannot import name 'izip' 参考:https://codereview.stackexchange.com/questions/26271/impor ...

  9. 2015-9-13 NOIP模拟赛 by hzwer

    好老的题了,但是还是很有做头的. 总结 不吸氧看来确实是没法用stl的啊(set常数太大了,开O2也没过) SPFA没认真学,觉得有堆优化Dijkstra就天下无敌了,今天负边权教我做人 于是苦逼的只 ...

  10. mybatis报Invalid bound statement (not found) 分析

      解决问题的步骤,请参考: 1.mapper.xml要和对应的mapper接口在同一个包下,包名要一模一样. 2.Mapper接口中的方法在Mapper.xml中没有,然后执行Mapper接口的方法 ...