最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript獲取網(wǎng)頁的寬高及如何兼容詳解

 更新時(shí)間:2021年05月14日 09:50:33   作者:楓葉在夏天  
這篇文章主要給大家介紹了關(guān)于JavaScript獲取網(wǎng)頁的寬高及如何兼容的相關(guān)資料,主要介紹了三個(gè)方式,分別是window.innerWidth / window.innerHeight、document.documentElement.clientWidth以及混雜模式/怪異模式 下的寬高的獲取,需要的朋友可以參考下

很多場景下會需要獲取當(dāng)前網(wǎng)頁的寬高來達(dá)到一些效果,但是獲取網(wǎng)頁的寬高這里面還是有一點(diǎn)(hen duo)坑的,這里我進(jìn)行了總結(jié)和詳解,若有補(bǔ)充歡迎評論補(bǔ)充~

方式一:window.innerWidth / window.innerHeight

這種方式只支持IE9以及以上版本的瀏覽器

網(wǎng)頁高度,打開F12控制臺當(dāng)然高度會不同

方式二:document.documentElement.clientWidth

console.log(document.documentElement);
console.log(document.documentElement.clientWidth);
console.log(document.documentElement.clientHeight);

document.documentElement獲取到的是HTML,從而獲取到了整個(gè)網(wǎng)頁

可用于IE9以下,當(dāng)然也支持IE9以及以上 可以用來兼容

方式三:混雜模式/怪異模式 下的寬高的獲取

怪異模式:沒有寫文檔聲明(就是第一行的那個(gè)< !DOCTYPE html >)就是怪異模式,這種模式下會有一些不同的渲染方式,感興趣的小伙伴可以去了解(這里講解的獲取寬高就是怪異模式特點(diǎn)之一)。

console.log(document.compatMode);
console.log(document.body.clientWidth);
console.log(document.body.clientHeight);

這樣獲取的方式只有在混雜模式下可以正確獲取

在標(biāo)準(zhǔn)模式下不會報(bào)錯(cuò),但是獲取到的寬高不是正確的

document.compatMode可以知道當(dāng)前文檔是混雜還是標(biāo)準(zhǔn)(BackCompat混雜,CSS1Compat標(biāo)準(zhǔn))

你以為結(jié)束了?

問題才出現(xiàn)!~

所以,問題來了:怎么兼容?(別認(rèn)為兼容不重要,不兼容就有很大的報(bào)錯(cuò)風(fēng)險(xiǎn)啊喂!畢竟你不知道用戶會不會用IE6打開網(wǎng)頁@_@)

封裝:兼容了高低版本瀏覽器,標(biāo)準(zhǔn)/混雜模式

function getWid_Hei(){
    let width,height;
    if(window.innerWidth){
        width = window.innerWidth;
        height = window.innerHeight;
    }else if(document.compatMode === "BackCompat"){
        width = document.body.clientWidth;
        height = document.body.clientHeight;
    }else{
        width = document.documentElement.clientWidth;
        height = document.documentElement.clientHeight;
    }
    return {
        width:width,
        height:height
    }
}
let {width,height} = getWid_Hei();
console.log(width,height);

總結(jié)

到此這篇關(guān)于JavaScript獲取網(wǎng)頁的寬高及如何兼容的文章就介紹到這了,更多相關(guān)JS獲取網(wǎng)頁寬高內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Bootstrap Table使用整理(五)之分頁組合查詢

    Bootstrap Table使用整理(五)之分頁組合查詢

    這篇文章主要介紹了 Bootstrap Table使用整理(五)之分頁組合查詢的實(shí)例代碼,非常報(bào)錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-06-06
  • js簡單的分頁器插件代碼實(shí)例

    js簡單的分頁器插件代碼實(shí)例

    這篇文章主要介紹了js簡單的分頁器插件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 我遇到的參數(shù)傳遞中 雙引號單引號嵌套問題

    我遇到的參數(shù)傳遞中 雙引號單引號嵌套問題

    我遇到的參數(shù)傳遞中 雙引號單引號嵌套問題
    2010-02-02
  • Javascript attachEvent傳遞參數(shù)的辦法

    Javascript attachEvent傳遞參數(shù)的辦法

    找了半天找到的解決辦法,看介紹說是javascript的閉包問題,導(dǎo)致得不能直接讀取外部的那個(gè)函數(shù),不然就所有傳遞的參數(shù)都變?yōu)樽詈笠粋€(gè)了。
    2009-12-12
  • bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果

    bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果

    這篇文章主要給大家介紹了關(guān)于利用bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧。
    2017-06-06
  • JavaScript人臉識別技術(shù)及臉部識別JavaScript類庫Tracking.js

    JavaScript人臉識別技術(shù)及臉部識別JavaScript類庫Tracking.js

    人臉識別的JavaScript程序包是Face Detection,它是由Jay Salvat和Liu Liu開發(fā)的。它是一個(gè)標(biāo)準(zhǔn)的jQuery插件,通過對提供的圖片進(jìn)行分析,返回所有找到的臉部圖像的坐標(biāo),感興趣的朋友跟著小編一起學(xué)習(xí)js人臉識別技術(shù)及臉部識別JavaScript類庫Tracking.js吧
    2015-09-09
  • array.prototype.silce.call 理解分析

    array.prototype.silce.call 理解分析

    在很多框架中與遇到這個(gè)方法,但一時(shí)沒去研究這個(gè)方法,只要前段時(shí)間被問到,尷尬無奈收場。所以學(xué)習(xí)就要追根究底的精神,廢話少說,說正題。
    2010-04-04
  • JavaScript中的View-Model使用介紹

    JavaScript中的View-Model使用介紹

    這是一個(gè)十分常見的微博列表頁面,類似于新浪微博。上周末,在心無旁騖情況下,一共用了5個(gè)對象,產(chǎn)出400行代碼,實(shí)踐出一種代碼組織模式。
    2011-08-08
  • 面向?qū)ο笤O(shè)計(jì)模式的核心法則

    面向?qū)ο笤O(shè)計(jì)模式的核心法則

    有本經(jīng)典的書叫《設(shè)計(jì)模式》,講了經(jīng)典的21種設(shè)計(jì)模式,建議大家都看看
    2013-11-11
  • JavaScript必知必會(三) String .的方法來自何方

    JavaScript必知必會(三) String .的方法來自何方

    這篇文章主要介紹了JavaScript必知必會(三) String .的方法來自何方的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06

最新評論

专栏| 曲周县| 寿阳县| 山阳县| 许昌市| 四会市| 伊金霍洛旗| 徐汇区| 金寨县| 呼玛县| 绵阳市| 尚义县| 武乡县| 万州区| 宜兰市| 武义县| 柳河县| 香河县| 虹口区| 鸡泽县| 崇文区| 靖宇县| 吐鲁番市| 柳河县| 鹿泉市| 乐清市| 南昌市| 年辖:市辖区| 景德镇市| 卢湾区| 江孜县| 赣州市| 黄骅市| 台中市| 沙湾县| 同德县| 兴仁县| 桃江县| 太仆寺旗| 安平县| 汝阳县|