asdasd23423日3 2016-01-08 04:15 采纳率: 50%
浏览 3577
已采纳

【前端】浏览器兼容问题都有哪些,通常怎么解决浏览器兼容性问题

正在学习前端,看到一个新词叫浏览器兼容性,
请问浏览器兼容性问题一般都有哪些呢?
通常怎么解决这些问题呢?

xiexie~~

  • 写回答

3条回答 默认 最新

  • 谁用了我的英文名 2016-01-08 04:38
    关注

    感觉可以划分为两个问题吧:
    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内部已经实现了屏蔽浏览器差异,所以多数情况下是不会遇到这样问题的(再有问题就个别对待,或自己写一个屏蔽差异的方法)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Go 旅城通票 2016-01-08 05:38
    关注
    评论
  • ITDragon龙 2016-01-08 05:49
    关注

    因为很多浏览器的内核不一样,解析页面内容的时候也不一样。所以在a浏览器显示的内容在b浏览器就不一定是一样的。可以考虑使用html5,其兼容性越来越强,而且很多浏览器开始都开始兼容html5了、

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料
  • ¥15 51单片机的外部中断,按下按键后不能切换到另一个模式
  • ¥15 java连接sqlserver有问题
  • ¥15 yolov8 如何调cfg参数
  • ¥15 这个四人抢答器代码哪儿有问题?仿真程序怎么写?
  • ¥15 burpsuite密码爆破
  • ¥15 关于#ubuntu#的问题,如何解决?(相关搜索:移动硬盘)
  • ¥15 scikit安装之后import不了
  • ¥15 Ros2编译一个使用opencv的c++节点的时候,报了这个错误,请问怎么解决啊
  • ¥15 人脸识别相关算法 YOLO,AI等