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...}

  • 相关阅读:
    hdu 3342 Legal or Not 拓排序
    hdu 1596 find the safest road Dijkstra
    hdu 1874 畅通工程续 Dijkstra
    poj 2676 sudoku dfs
    poj 2251 BFS
    poj Prime Path BFS
    poj 3278 BFS
    poj 2387 Dijkstra 模板
    poj 3083 DFS 和BFS
    poj 1062 昂贵的聘礼 dijkstra
  • 原文地址:https://www.cnblogs.com/junxtx/p/4139859.html
Copyright © 2011-2022 走看看