分针网—IT教育: Javascript不同浏览器差异及兼容方法
2017-05-03 10:06
281 查看
javascript的各种兼容就是为了解决不同浏览器的差异性,了解其中的差异能够帮助你更快的解决问题,提高代码的使用质量,编写更优秀的javascript代码。
1.window.event表示当前的时间对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象2.获取事件源IE用srcElement获取事件源,而FF用target获取事件源以上两个兼容通常会这么写:
var evt = e||event; var el = evt.srcTarget || evt.srcElement;
3.添加、去除事件
4.获取标签的自定义属性
IE:div1.value或div1['value']
FF:可用div1.getAttribute("value")
5.document.getElemntByName()和document.all[name]
IE不可以,
FF可以
6.input.type的属性
7.IE支持innerText、outerHTML
FF:支持textContent
8.窗口的位置IE、chrome、safari:支持使用window.screenLeft和window.screenTop
IE8以上、chrome、safari、firefox:支持使用window.screenX和window.screenY兼容代码可以使用下面这段代码:
var leftX = typeof window.screenLeft == 'number' ? window.screenLeft : window.screenX; ver topY = typeof window.screenTop == 'number' ? window.screenTop : window.screenY;
9.窗口的大小
firefox、chrome、IE9和safari:window.innerWidth和window.innerHeight
IE系列:document.body.clientWidth和document.body.clientHeight
不是IE6:document.documentElement.clientWidth和document.documentElement.clientHeight
兼容代码可以这样子写
var width = window.innerWidth; var height = window.innerHeight; if(typeof width != 'number'){ if(document.compatMode == 'CSS1Compat'){ width = document.documentElement.clientWidth; height = document.docuementElement.clientHeight; }else{ width = document.body.clientWidth; height = document.body.clientHeight; }
1.window.event表示当前的时间对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象2.获取事件源IE用srcElement获取事件源,而FF用target获取事件源以上两个兼容通常会这么写:
var evt = e||event; var el = evt.srcTarget || evt.srcElement;
3.添加、去除事件
4.获取标签的自定义属性
IE:div1.value或div1['value']
FF:可用div1.getAttribute("value")
5.document.getElemntByName()和document.all[name]
IE不可以,
FF可以
6.input.type的属性
7.IE支持innerText、outerHTML
FF:支持textContent
8.窗口的位置IE、chrome、safari:支持使用window.screenLeft和window.screenTop
IE8以上、chrome、safari、firefox:支持使用window.screenX和window.screenY兼容代码可以使用下面这段代码:
var leftX = typeof window.screenLeft == 'number' ? window.screenLeft : window.screenX; ver topY = typeof window.screenTop == 'number' ? window.screenTop : window.screenY;
9.窗口的大小
firefox、chrome、IE9和safari:window.innerWidth和window.innerHeight
IE系列:document.body.clientWidth和document.body.clientHeight
不是IE6:document.documentElement.clientWidth和document.documentElement.clientHeight
兼容代码可以这样子写
var width = window.innerWidth; var height = window.innerHeight; if(typeof width != 'number'){ if(document.compatMode == 'CSS1Compat'){ width = document.documentElement.clientWidth; height = document.docuementElement.clientHeight; }else{ width = document.body.clientWidth; height = document.body.clientHeight; }
相关文章推荐
- Javascript不同浏览器差异及兼容方法
- 12种Javascript解决常见浏览器兼容问题的方法
- 12种Javascript解决常见浏览器兼容问题的方法
- 12种Javascript解决常见浏览器兼容问题的方法
- 12种Javascript解决常见浏览器兼容问题的方法
- 关于JavaScript事件和不同浏览器之间的兼容
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- Javascript可以兼容各浏览器的阻止默认行为发生的方法
- JavaScript js 兼容浏览器问题 兼容FireFox(FF)、IE的解决方法
- javascript 获取屏幕各种宽高的方法(浏览器兼容)
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- 12种Javascript解决常见浏览器兼容问题的方法
- css javascript等兼容IE6,IE7,IE8,IE9,FIREFOX,Chrome等浏览器详细解决方法
- javascript在不同浏览器下的兼容问题已经遇到的疑难杂症
- Javascript解决常见浏览器兼容问题的12种方法
- JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
- JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
- 字符串拼接方法在不同浏览器引擎的差异测试结论
- javascript 浏览器不同的一个差异