zoukankan      html  css  js  c++  java
  • 浏览器差异总结,可以用此判断浏览器版本(转)

    总结一下浏览器间的差异如下:

    1.safari下,typeof nodeList的类型为function

    2.在大多数游览器中checkbox的value默认为on,唯有chrome返回空字符串

    3.某些浏览器不支持w3c的cssFloat属性来获取浮动样式,而是使用独家的styleFloat属性

    4.IE678的getElementByTagName(“*”)无法遍历出Object元素下的param元素(bug)

    5.IE678不能通过innerHTML生成link,style,script节点(bug)

    6.IE6789由于无法识别HTML5的新标签,因此复制这些新元素时也不正确(bug)

    7.在标准浏览器下,cloneNode(true)是不复制事件的,以防止循环引用无法释放内存,而IE却没有考虑到这一点,把事件复制了(inconformity)

    8.IE67不支持display:inline-block,需要通过hasLayout方法去模拟(bug)

    9.透明度

    10.标准浏览器只有在table与tr之间不存在tbody的情况下添加tbody,而IE678则笨多了,即在里面为空也乱加tbody

    11.mouseenter,mouseleave只有IE支持,但它们比mouseover mouseout性能好,因此各库都有模拟的实现

    12.innerText火狐不支持,它使用的是textContent

    自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:
    navigator 数据可被浏览器使用者更改。
    浏览器无法报告晚于浏览器发布的新操作系统

    所以很多时候,我们可以通过这些浏览器的兼容特性来判断是什么浏览器。

    浏览器检测

    由于 navigator 可误导浏览器检测,使用对象检测可用来嗅探不同的浏览器。
    由于不同的浏览器支持不同的对象,您可以使用对象来检测浏览器。例如,由于只有 Opera 支持属性 "window.opera",您可以据此识别出 Opera。
    例子:if (window.opera) {...some action...}

  • 相关阅读:
    StackStorm简介及其部署
    Nginx系列(十二)——性能调整
    Nginx系列(十一)——通过日志进行故障排查
    Nginx系列(十)——可用性监控进阶
    Nginx系列(九)——容器/微服务
    Nginx系列(八)——数字媒体流
    Nginx系列(七)——HTTP/2
    Nginx系列(六)——安全控制
    Nginx系列(五)——认证
    Nginx系列(四)——配置文件自动化管理
  • 原文地址:https://www.cnblogs.com/junxtx/p/4139859.html
Copyright © 2011-2022 走看看