前端处理浏览器兼容性问题之外还有哪些
展开全部
感觉可以划分为两个问题吧:
1.因为标准在提升,老旧的浏览器可能不支持html5和css3,导致兼容性问题。解决方式:考虑业务支持环境,尽可能的以最低版本浏览器进行Bug测试。
2.浏览器内核差异,最值得吐槽的是IE浏览器和别的很多浏览器都不一样,举个例子:
<body>
<a href="#" onclick="doSet1(event);">点一下</a>
<a href="#" onclick="doSet2(event);">点两下</a>
</body>
<script type="text/javascript">
function doSet1(event) {
alert(event.target.innerHTML);
}
function doSet2(event) {
alert(event.srcElement.innerHTML);
}
</script>
在IE下需要点击"点两下",在firefox下需要点击"点一下"
因为内核不同,一些内置对象的属性名称是不一致的,所以相同的js脚本可能在firefox下可用,而在IE下就不能用。
js脚本屏蔽浏览器差异最简单有效的方式:使用jquery。
因为jquery内部已经实现了屏蔽浏览器差异,所以多数情况下是不会遇到这样问题的(再有问题就个别对待,或自己写一个屏蔽差异的方法)
1.因为标准在提升,老旧的浏览器可能不支持html5和css3,导致兼容性问题。解决方式:考虑业务支持环境,尽可能的以最低版本浏览器进行Bug测试。
2.浏览器内核差异,最值得吐槽的是IE浏览器和别的很多浏览器都不一样,举个例子:
<body>
<a href="#" onclick="doSet1(event);">点一下</a>
<a href="#" onclick="doSet2(event);">点两下</a>
</body>
<script type="text/javascript">
function doSet1(event) {
alert(event.target.innerHTML);
}
function doSet2(event) {
alert(event.srcElement.innerHTML);
}
</script>
在IE下需要点击"点两下",在firefox下需要点击"点一下"
因为内核不同,一些内置对象的属性名称是不一致的,所以相同的js脚本可能在firefox下可用,而在IE下就不能用。
js脚本屏蔽浏览器差异最简单有效的方式:使用jquery。
因为jquery内部已经实现了屏蔽浏览器差异,所以多数情况下是不会遇到这样问题的(再有问题就个别对待,或自己写一个屏蔽差异的方法)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询