IE兼容BUG汇总及解决方案(持续更新)
本篇为总结开发过程当中遇到的各种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汇总及解决方案(持续更新)的更多相关文章
- 那些不兼容 IE11的网站(持续更新)
此博文用于收集不兼容 IE11 的网站,持续更新,请网站开发者自己认领: 兼容性引起的功能缺陷: v.qq.com (提示未安装 Flash 播放器,这问题我反馈几百年了,还没修复) tv.sohu. ...
- 【STM32-V7】STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2019-12-12)
说明: 争取做更多的实战性应用,分享更多的嵌入式技术,希望能在实际项目中帮到大家. (1)V7将大力加强对初学者的支持力度,已经更新至63章,下载链接,后37章和一批视频教程将加紧制作. (2)事隔五 ...
- Linux学习资料网站汇总链接(持续更新ing)
排名不分先后. 学海无涯苦作舟. 博客: 1.slmba:LINUX博客原创大牛 2.edsionte's TechBlog:Linuxer (他的友情链接中还有一堆Linuxer,被公司屏蔽进不去. ...
- js的兼容问题以及解决方式(持续更新)
我们在使用js操作页面的时候兼容问题是很常见的,下面将常见的兼容问题及其对应的解决方法分享给大家,并持续更新: 1.获取事件对象的兼容写法: IE中:window.event 正常浏览器中:对 ...
- .Net免费公开课视频+资料+源码+经典牛逼 汇总篇【持续更新】
博主推荐一:WP8.1最经典培训教程 博主点评:经典Windows Phone8.1 Runtime API培训最经典教程,此教程由传智播客蒋坤老师录制的一整套WP8.1入门级视频教程,讲授内容非常广 ...
- C语言遇到的错误和解决方案~~~持续更新,记录成长的过程
1.error C2296: '&' : illegal, left operand has type 'char [3]' scanf("%d" &x); 少了一 ...
- 关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】
最近一直用ASP.NET MVC 4.0 +LINQ TO SQL来开发设计公司内部多个业务系统网站,在这其中发现了一些问题,也花了不少时间来查找相关资料或请教高人,最终都还算解决了,现在我将这些问题 ...
- 《WCF技术剖析》博文系列汇总[持续更新中]
原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...
- 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
中国.NET:各地微软技术俱乐部汇总(持续更新中...) 本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by 史记微软. ...
随机推荐
- 8.python中双冒号(::)的用法
s[i:j:k]是,根据该“片第从i到j与第k步”.何时i和j缺席,整个序列是和s[::k]意思是“每k个项目”. 示例 首先,让我们来初始化一个列表: >>> s = range( ...
- 数据挖掘-关联分析 Apriori算法和FP-growth 算法
•1.关联分析概念 关联分析是从大量数据中发现项集之间有趣的关联和相关联系. •定义:1.事务:每一条交易称为一个事务,如上图包含5个事务.2.项:交易的每一个物品称为一个项,例如豆奶,啤酒等. ...
- 了解Flask 信号机制
Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为. pip3 install blinker 1. 内置信号 request_started = ...
- 20165207 实验一 Java开发环境的熟悉
20165207 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652 姓名:李天林 学号:20165207 实验日期:2018年4月2日 实验序号:一 实验名称: ...
- linux 常用命令总结(二)
1. linux下以指定的编码打开文件:LANG=zh_CN vi fileName 2. 查看系统内存使用,可以使用free -m 或 top 3. 使用env查看所有环境变量 4. df –h 查 ...
- 20145122 《Java程序设计》第二周学习总结
20145122 <Java程序设计>第2周学习总结 教材学习内容总结 在大一的时候我们学习了C语言,所以对第三章的知识不是很陌生,但有些新知识需要记忆. java常用的数据类型: byt ...
- 2017-2018-1 Java小组-1623 第一周作业
2017-2018-1 Java小组-1623 第一周作业 <构建之法>学习笔记及团队成员介绍 1. 学习内容 概论 个人技术和流程 软件工程师的成长 两人合作 团队和流程 敏捷流程 实战 ...
- 通用Linux内核优化配置
通用Linux内核优化配置 针对CentOS6.CentOS7.Redhat6.Redhat7等系统 net.ipv4.ip_forward = net.ipv4.conf. net.ipv4.con ...
- java分布式系统开关功能设计(服务升降级)
问题一:在单个java系统中如何实现开关功能? 其实对于开关来说,对应Java中的类型,很好映射,就是一个boolean值,在需要做开关操作的地方,调用这个属性,判断状态,然后走相应的 ...
- POJ 1014 Dividing(多重背包+二进制优化)
http://poj.org/problem?id=1014 题意:6个物品,每个物品都有其价值和数量,判断是否能价值平分. 思路: 多重背包.利用二进制来转化成0-1背包求解. #include&l ...