2022年2022年浏览器兼容性汇总 .pdf
《2022年2022年浏览器兼容性汇总 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年浏览器兼容性汇总 .pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1/15目录JAVASCRIPT.31.HTML 对象获取问题.32.const 问题.33.event.x 与 event.y 问题 .34.window.location.href问题.35.frame 问题.36.模态和非模态窗口问题.47.firefox 与 IE的父元素(parentElement)的区别.48.document.formName.item(”itemName”)问题.49.集合类对象问题.510.自定义属性问题.511.input.type 属性问题.512.event.srcElement 问题.513.body 载入问题.514.事件委托方法.615.Table
2、 操作问题.616.对象宽高赋值问题.6CSS.61.cursor:hand VS cursor:pointer.62.innerText 在 IE中能正常工作,但在FireFox 中却不行.73.CSS透明 .74.css 中的 width 和 padding.7名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 15 页 -2/155.FF和 IE BOX模型解释不一致导致相差2px.76.IE5 和 IE6 的 BOX解释不一致.87.ul 和 ol 列表缩进问题.88.元素水平居中问题.89.Div 的垂直居中问题.810.margin 加倍的问题.811.IE与宽度和高度的
3、问题.912.页面的最小宽度.913.DIV 浮动 IE文本产生3 象素的 bug.914.IE捉迷藏的问题.1015.float 的 div 闭合;清除浮动;自适应高度.1016.高度不适应 .1217.IE6 下图片下有空隙产生.1218.对齐文本与文本输入框.1219.LI 中内容超过长度后以省略号显示.1320.为什么 web 标准中 IE 无法设置滚动条颜色了.1321.为什么无法定义1px 左右高度的容器.1322.链接(a 标签)的边框与背景.1423.超链接访问过后hover 样式就不出现的问题.1424.FORM标签 .1425.属性选择器(这个不能算是兼容,是隐藏 css
4、的一个 bug).1426.为什么 FF下文本无法撑开容器的高度.14名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 15 页 -3/15JAVASCRIPT1.HTML对象获取问题FireFox:document.getElementById(idName);ie:document.idname或者 document.getElementById(idName).解决办法:统一使用 document.getElementById(idName);2.const问题说明:Firefox 下,可以使用const 关键字或var 关键字来定义常量;IE下,只能使用var 关键字来定义
5、常量.解决方法:统一使用 var 关键字来定义常量.3.event.x与 event.y 问题说明:IE 下,event 对象有 x,y 属性,但是没有pageX,pageY 属性;Firefox 下,event 对象有 pageX,pageY 属性,但是没有 x,y 属性.解决方法:使用 mX(mX =event.x?event.x :event.pageX;)来代替 IE下的 event.x 或者 Firefox 下的event.pageX.4.window.location.href 问题说明:IE 或者 Firefox2.0.x 下,可以使用window.location或 windo
6、w.location.href;Firefox1.5.x 下,只能使用window.location.解决方法:使用 window.location来代替 window.location.href.5.frame 问题以下面的frame 为例:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 15 页 -4/15(1)访问 frame 对象:IE:使用 window.frameId或者 window.frameName来访问这个frame 对象.frameId 和 frameName 可以同名。Firefox:只能使用 window.frameName来访问这个frame 对象.另
7、外,在IE和 Firefox 中都可以使用window.document.getElementById(frameId)来访问这个frame 对象.(2)切换 frame 内容:在 IE和 Firefox 中都可以使用window.document.getElementById(testFrame).src =xxx.html 或window.frameName.location =xxx.html 来切换 frame 的内容.如果需要将frame 中的参数传回父窗口(注意不是opener,而是 parent frame),可以在 frame 中使用 parent来访问父窗口。例如:paren
8、t.document.form1.filename.value=Aqing;6.模态和非模态窗口问题说明:IE 下,可以通过showModalDialog和 showModelessDialog 打开模态和非模态窗口;Firefox 下则不能.解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口.例如:var parWin =window.opener;parWin.document.getElementById(Aqing).value =Aqi
9、ng;7.firefox 与 IE的父元素(parentElement)的区别IE:obj.parentElement firefox:obj.parentNode 解决方法:因为 firefox 与 IE 都支持 DOM,因此使用obj.parentNode是不错选择.8.document.formName.item(”itemName”)问题名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 15 页 -5/15问题说明:IE下,可以使用document.formName.item(”itemName”)或 document.formName.elements elementNa
10、me;Firefox 下,只能使用document.formName.elementselementName。解决方法:统一使用document.formName.elementselementName。9.集合类对象问题问题说明:IE下,可以使用()或 获取集合类对象;Firefox 下,只能使用 获取集合类对象。解决方法:统一使用 获取集合类对象。10.自定义属性问题问题说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox 下,只能使用getAttribute()获取自定义属性。解决方法:统一通过getAttribu
11、te()获取自定义属性。11.input.type 属性问题问题说明:IE 下 input.type属性为只读;但是Firefox 下 input.type属性为读写。解决办法:不修改 input.type属性。如果必须要修改,可以先隐藏原来的input,然后在同样的位置再插入一个新的 input 元素。12.event.srcE lement 问题问题说明:IE 下,even 对象有 srcElement 属性,但是没有target 属性;Firefox 下,even 对象有 target 属性,但是没有 srcElement 属性。解决方法:使用 srcObj=event.srcEleme
12、nt?event.srcElement:event.target;如果考虑第8 条问题,就改用myEvent 代替 event 即可。13.body 载入问题名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 15 页 -6/15问题说明:Firefox 的 body 对象在 body 标签没有被浏览器完全读入之前就存在;而IE 的 body 对象则必须在body 标签被浏览器完全读入之后才存在。注 这个问题尚未实际验证,待验证后再来修改。注 经验证,IE6、Opera9 以及 FireFox2 中不存在上述问题,单纯的JS脚本可以访问在脚本之前已经载入的所有对象和元素,即使这个元素
13、还没有载入完成。14.事件委托方法问题说明:IE下,使用 document.body.onload=inject;其中 function inject()在这之前已被实现;在Firefox 下,使用 document.body.onload=inject();解决方法:统一使用document.body.onload=new Function(inject();或者 document.body.onload=function()/*这里是代码*/注意 Function 和 function 的区别。15.Table 操作问题问题说明:ie、firefox 以及其它浏览器对于table 标签的操
14、作都各不相同,在ie 中不允许对table 和 tr 的innerHTML 赋值,使用js 增加一个 tr 时,使用appendChild 方法也不管用。解决方法:/向 table 追加一个空行:var row=otable.insertRow(-1);var cell=document.createElement(td);cell.innerHTML=;cell.className=XXXX;row.appendChild(cell);注 由于俺很少使用JS直接操作表格,这个问题没有遇见过。建议使用JS框架集来操作 table,如 JQuery。16.对象宽高赋值问题问题说明:FireFox
15、 中类似 obj.style.height=imgObj.height的语句无效。CSS 1.cursor:hand VS cursor:pointer 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 15 页 -7/15firefox 不支持 hand,但 ie 支持 pointer 解决方法:统一使用pointer 2.innerText在 IE中能正常工作,但在FireFox中却不行.需用 textContent。解决方法:if(navigator.appName.indexOf(Explorer)-1)document.getElementById(element).in
16、nerText =my text;else document.getElementById(element).textContent =my text;3.CSS透明IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。FF:opacity:0.6。4.css中的 width 和 padding 在 IE7和 FF 中 width 宽度不包括padding,在 Ie6 中包括 padding.5.FF 和 IEBOX模型解释不一致导致相差2px box.stylewidth:100;border 1px;ie
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年浏览器兼容性汇总 2022 浏览器 兼容性 汇总
限制150内