• js 不同浏览器兼容性(转)


    1.window.event

    表示当前的时间对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象

    2.获取事件源

    IE用srcElement获取事件源,而FF用target获取事件源

    以上两个兼容通常会这么写:

    var evt = e||event;
    
    var el = evt.srcTarget || evt.srcElement;

    3.添加、去除事件

    4.获取标签的自定义属性

    IE:div1.value或div1['value']

    FF:可用div1.getAttribute("value")

    5.document.getElemntByName()和document.all[name]

    IE不可以,

    FF可以

    6.input.type的属性

    7.IE支持innerText、outerHTML

    FF:支持textContent

    8.窗口的位置

    IE、chrome、safari:支持使用window.screenLeft和window.screenTop

    IE8以上、chrome、safari、firefox:支持使用window.screenX和window.screenY

    兼容代码可以使用下面这段代码:

    var leftX = typeof window.screenLeft == 'number' ? window.screenLeft : window.screenX;
    
    ver topY = typeof window.screenTop == 'number' ? window.screenTop : window.screenY;
    

    9.窗口的大小

    firefox、chrome、IE9和safari:window.innerWidth和window.innerHeight

    IE系列:document.body.clientWidth和document.body.clientHeight

    不是IE6:document.documentElement.clientWidth和document.documentElement.clientHeight

    兼容代码可以这样子写

    //code from http://caibaojian.com/js-ie-different-from-firefox.html
    var width = window.innerWidth;
    
    var height = window.innerHeight;
    
    if(typeof width != 'number'){
    
    if(document.compatMode == 'CSS1Compat'){
    
    width = document.documentElement.clientWidth;
    
    height = document.docuementElement.clientHeight;
    
    }else{
    
    width = document.body.clientWidth;
    
    height = document.body.clientHeight;
    
    }
    

    以上内容参考网络,由于本人学习的javascript知识还比较少,暂时不认识,所以提前学习,以便以后遇到能够快速的识别。这篇文章后面将会继续更新添加。

  • 相关阅读:
    ICPC-Beijing 2006 狼抓兔子
    【模板】多项式求逆
    AHOI2014/JSOI2014 奇怪的计算器
    Hnoi2013 切糕
    Ahoi2014&Jsoi2014 支线剧情
    bzoj3774 最优选择
    WC2019游记
    HNOI2007 分裂游戏
    bzoj1457 棋盘游戏
    poj2484 A Funny Game
  • 原文地址:https://www.cnblogs.com/joesbell/p/5827407.html
Copyright © 2020-2023  润新知