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 史记微软. ...
随机推荐
- 从LayoutInflater分析XML布局解析成View的树形结构的过程
上一篇博客分析了XML布局怎么载入到Activity上.不了解的能够參考 从setContentView方法分析Android载入布局流程 上一篇博客仅仅是分析了怎么讲XML布局加入到 Activit ...
- php源码编译常见错误解决方案大全
php源码编译常见错误解决方案大全http://www.cnlvzi.com/index.php/Index/article/id/143 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息 ...
- 003-and design-dva.js 知识导图-02-Reducer,Effect,Subscription,Router,dva配置,工具
一.Reducer reducer 是一个函数,接受 state 和 action,返回老的或新的 state .即:(state, action) => state 增删改 以 todos 为 ...
- maven解决“Could not calculate build plan”问题
错误提示如下:(eclipse+maven) Could not calculate build plan: Failure to transfer org.apache.maven.plugins: ...
- JQuery表格操作的常用技巧总结
JQuery对表格进行操作的常用技巧. 1.表格奇数行和偶数行分别添加样式 复制代码代码如下: $(function(){ $('tr:odd').addClass("odd") ...
- 超全超详细的 ADB 用法大全
原文地址:原文地址 基本用法 命令语法 为命令指定目标设备 启动/停止 查看 adb 版本 以 root 权限运行 adbd 指定 adb server 的网络端口 设备连接管理 查询已连接设备/模拟 ...
- 1.2 Getting Started--Naming Conventions(命名约定)
Ember.js使用一个运行时解析器去连接你的对象而没有很多样板文件.作为一个开发者,如果你把code放到约定好的位置这个解析器会自动工作. 一.The Application 1. 当你 ...
- SpringData修改和删除操作
SpringData的查询我们已经学完了,我们现在就研究一下SpringData的修改和删除. @Modifying 注解和事务 @Query 与 @Modifying 这两个 annotation一 ...
- Django RF:学习笔记(8)——快速开始
Django RF:学习笔记(8)——快速开始 安装配置 1.使用Pip安装Django REST Framework: pip install djangorestframework 2.在Sett ...
- 分页组件vue和jsp版本
vue版本 <template> <div class="com-vscroll"> <slot name="mcontent"& ...