【兼容】浏览器兼容那些事

     这段时间,经常会接到很多需要处理浏览器兼容问题的工作。开个玩笑的说,如果看到一个人的电脑装了很多浏览器,那么勇敢地怀疑他的岗位是不是web前端开发吧。有一段时间,我的电脑同时安装了chrome、FF、360、IE、搜狗和YY浏览器,另外还有ietester用作调试不同版本的ie。

     浏览器兼容一事是前端的一大“痛处”,在前端工作里面也占有相当大的比例,每当接到测试部门反馈回来说出现浏览器兼容bug的时候,我的心就加了一块石头,哈哈哈。

     一般地,在产品发布之前,都需要经过严格的测试、反馈、修复,方能上线。否则,即使这款产品很好,功能很强大。但却不能在主流浏览器中很好地运行,这样无疑就“屏蔽”了部分用户,有可能会造成网站的流量、用户体验甚至是收益的降低。每当想到这些,即使遇到比较麻烦、棘手的兼容问题,都会想方设法地去解决问题了,O(∩_∩)O~

     有人说,处理浏览器兼容问题对有很多年开发经验的人来说是很容易的,他们对问题的处理往往一针见血,这样的工作者无疑是让我佩服的,必须要向他们学习。

     但对于新手来说,一开始,我觉得只是没有写好<!DOCTYPE ***>文档类型声明导致部分浏览器以怪异模式来渲染网页。对于调皮的IE浏览器,我试着增加一行兼容处理的meta,<meta http-equiv="X-UA-Compatible"content="IE=edge" >。这些设置可能对于某些问题来说是可行的解决方案,当然,对于一个标准的网页来说,确实也应该如此设置,较为严谨,避免出现更多的兼容bug。

     就最近的工作来说,我通过上述的2种方案仍然未能解决问题,尤其是IE不同版本的兼容问题。甚至是,测试部门的工作人员那边出现了兼容问题,但我的电脑却显得比较“强悍”,无法重现(不能重现,很难修复bug的哟~)测试部门所提的bug,就算是使用了ietester来模拟,也是正常运行。后来被告知,不能完全相信ietester,有时候,ietester测也是不准的。这时候需要多方考证,多测,多发现bug,多想办法

     为了重现测试部门提的bug,我把本来是ie11的浏览器降级为ie8,后来又出现了ie9专有的bug,又需要把浏览器升级为ie9(这里感叹一下前端工作者的浏览器折磨,哈哈哈)。

     在调试的过程中,F12是少不了的。现在慢慢发现,其实很多浏览器兼容的bug,除了一些较为常见的,成为“惯例”的兼容问题,比如ie6的双边距问题,ie6、ie7、ie8专有的hack写法,类似这些问题网上也给出了很多解决方案。

     更多地,是自身代码的结构写得不是很好,或者写的不规范,在高版本的浏览器看起来貌似是没问题,正常显示,但对于低版本的浏览器,它们往往不能很好地识别一些不太标准的写法,不能按照我们所预期的去显示,也就是出现了兼容问题啦~~这时候不妨重新审视自己的代码,慢慢找原因,多对比。当实在不能解决,时间还允许的情况下,可以考虑推倒以前做的东西,换种思维方式重新实现,兼容问题或许就这样愉快地解决了。


Author:致知

Sign:路漫漫其修远兮,吾将上下而求索。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值