欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

談?wù)凧avaScript中瀏覽器兼容問題的寫法小議

 更新時(shí)間:2016年12月17日 16:20:01   作者:策碼揚(yáng)鞭  
本篇文章主要介紹了JavaScript中瀏覽器兼容問題的寫法小議,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。

前言

JavaScript中很多坑,其中對(duì)瀏覽器的兼容也是一個(gè)問題,本文就簡略的歸納了部分針對(duì)瀏覽器兼容問題的寫法的例子,旨在便于查找。如果讀者有什么好的意見建議,請(qǐng)留言交流,謝謝!

window窗口大小

1.在IE9+、Chrome、Firefox、Opera以及Safari中

window.innerHeight獲取瀏覽器窗口的內(nèi)部高度

window.innerWidth獲取瀏覽器窗口的內(nèi)部寬度

var msg = "窗口寬度:" + window.innerHeight + "\n窗口高度:" + window.innerWidth;
alert(msg );

2.在IE5/6/7/8(Chrome和Firefox也支持)

document.documentElement.clientHeight

document.documentElement.clientWidth

var msg = "窗口寬度:" + document.documentElement.clientWidth + "\n窗口高度:" + document.documentElement.clientHeight;
alert(msg);

3.兼容寫法(可以涵蓋所有的瀏覽器)

就是把前兩者的寫法相 “或”。

var w = window.innerWidth || document.documentElement.clientWidth;
var h = window.innerHeight || document.documentElement.clientHeight;
alert("窗口寬度:" + w + "\n窗口高度:" + h);

獲取內(nèi)部樣式表和外部樣式表

1.對(duì)IE瀏覽器:對(duì)象.currentStyle[“屬性名”]

2.其他瀏覽器:window.getComputedStyle(對(duì)象, null)[“屬性名”]

注意:內(nèi)部樣式表中的屬性和外部樣式表中的屬性只能獲取不能修改。如果想修改需要通過行間樣式表修改,行間樣式表的優(yōu)先級(jí)最高,會(huì)覆蓋內(nèi)部樣式表和外部樣式表。

為了簡化書寫和兼容瀏覽器,一般封裝一個(gè)方法。如下列。

<body>
  <div id="box1"></div>
  <script type="text/javascript">
    var box1 = document.getElementById("box1");
    // alert(box1.currentStyle["width"]); //只支持IE瀏覽器
    // alert(window.getComputedStyle(box1, null)["height"]); //支持瀏覽器外的其他瀏覽器
    alert(getStyle(box1, "backgroundColor"));
    /*
      為了簡化書寫和兼容瀏覽器,一般封裝一個(gè)方法出來
    */
    function getStyle (obj, attributeName) {  
      if(obj.currentStyle){  //如果存在對(duì)象,則是在ie瀏覽器
        return obj.currentStyle[attributeName];
      }else { //其他瀏覽器
        return window.getComputedStyle(obj, null)[attributeName];
      }
    }
  </script>
</body>

onscroll事件

<script type="text/javascript">
   window.onscroll = function () {
    console.log("開始滾動(dòng)...");
    //跨瀏覽器獲得滾動(dòng)的距離
    console.log(document.documentElement.scrollTop | document.body.scrollTop);
  }
</script>

事件對(duì)象

box.onclick = function(event) {
      event = event || window.event;
      console.log("offsetX:" + event.offsetX + " offsetY:" + event.offsetY);
      console.log("screenX:" + event.screenX + " screenY:" + event.screenY);
      console.log("clientX:" + event.clientX + " clientY:" + event.clientY);
      console.log("pageX:" + event.pageX + " pageY: " + event.pageY);
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解uniapp頁面跳轉(zhuǎn)URL傳參大坑

    詳解uniapp頁面跳轉(zhuǎn)URL傳參大坑

    本文主要介紹了詳解uniapp頁面跳轉(zhuǎn)URL傳參大坑,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 深度解析JavaScript中的filter()方法

    深度解析JavaScript中的filter()方法

    在JavaScript中,filter()是一個(gè)數(shù)組方法,用于從數(shù)組中過濾出符合特定條件的元素,并返回一個(gè)新數(shù)組,本文將帶大家深度解析JavaScript中的filter()方法,需要的朋友可以參考下
    2023-09-09
  • 記錄微信小程序 height: calc(xx - xx);無效問題

    記錄微信小程序 height: calc(xx - xx);無效問題

    這篇文章主要介紹了微信小程序 - height: calc(xx - xx);無效 問題,文中給大家擴(kuò)展介紹下jquery點(diǎn)擊添加樣式,再次點(diǎn)擊移除樣式的實(shí)例代碼,需要的朋友可以參考下
    2019-12-12
  • uniapp監(jiān)聽頁面滾動(dòng)2種常用方法

    uniapp監(jiān)聽頁面滾動(dòng)2種常用方法

    在uni-app中,監(jiān)聽頁面滾動(dòng)可以使用onPageScroll生命周期函數(shù)或@scroll事件監(jiān)聽器,onPageScroll適用于監(jiān)聽整個(gè)頁面的滾動(dòng)事件,而@scroll事件監(jiān)聽器適用于監(jiān)聽特定組件如scroll-view的滾動(dòng),這兩種方法的選擇取決于監(jiān)聽需求的不同,需要的朋友可以參考下
    2024-09-09
  • 關(guān)于微信小程序map組件z-index的層級(jí)問題分析

    關(guān)于微信小程序map組件z-index的層級(jí)問題分析

    這篇文章主要給大家介紹了關(guān)于微信小程序map組件z-index的層級(jí)問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Select下拉框模糊查詢功能實(shí)現(xiàn)代碼

    Select下拉框模糊查詢功能實(shí)現(xiàn)代碼

    這篇文章主要介紹了Select下拉框模糊查詢功能實(shí)現(xiàn)代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • js正則表達(dá)式中exec用法實(shí)例

    js正則表達(dá)式中exec用法實(shí)例

    這篇文章主要介紹了js正則表達(dá)式中exec用法,實(shí)例分析了javascript中使用exec執(zhí)行正則表達(dá)式的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • JS實(shí)現(xiàn)深拷貝的幾種方法介紹

    JS實(shí)現(xiàn)深拷貝的幾種方法介紹

    這篇文章介紹了JS實(shí)現(xiàn)深拷貝的幾種方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • JS+CSS實(shí)現(xiàn)仿新浪微博搜索框的方法

    JS+CSS實(shí)現(xiàn)仿新浪微博搜索框的方法

    這篇文章主要介紹了JS+CSS實(shí)現(xiàn)仿新浪微博搜索框的方法,實(shí)例分析了javascript針對(duì)搜索框樣式的控制技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法舉例

    layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法舉例

    這篇文章主要給大家介紹了關(guān)于layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法的相關(guān)資料,最近接觸到layer彈窗,感覺彈窗功能異常強(qiáng)大,真的很方便,所以記錄下來,需要的朋友可以參考下
    2023-12-12

最新評(píng)論