最新国产好看的视频,伊人天堂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以及混雜模式/怪異模式 下的寬高的獲取,需要的朋友可以參考下

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

方式一:window.innerWidth / window.innerHeight

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

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

方式二: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 >)就是怪異模式,這種模式下會(huì)有一些不同的渲染方式,感興趣的小伙伴可以去了解(這里講解的獲取寬高就是怪異模式特點(diǎn)之一)。

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

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

在標(biāo)準(zhǔn)模式下不會(huì)報(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)啊喂!畢竟你不知道用戶會(huì)不會(huì)用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)容請(qǐng)搜索腳本之家以前的文章或繼續(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ì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 我遇到的參數(shù)傳遞中 雙引號(hào)單引號(hào)嵌套問題

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

    我遇到的參數(shù)傳遞中 雙引號(hào)單引號(hào)嵌套問題
    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í),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧。
    2017-06-06
  • JavaScript人臉識(shí)別技術(shù)及臉部識(shí)別JavaScript類庫Tracking.js

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

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

    array.prototype.silce.call 理解分析

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

    JavaScript中的View-Model使用介紹

    這是一個(gè)十分常見的微博列表頁面,類似于新浪微博。上周末,在心無旁騖情況下,一共用了5個(gè)對(duì)象,產(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必知必會(huì)(三) String .的方法來自何方

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

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

最新評(píng)論

贵州省| 涞水县| 贵南县| 南开区| 淳化县| 华池县| 龙井市| 武宣县| 迁安市| 旅游| 冕宁县| 电白县| 永州市| 古浪县| 阳曲县| 达尔| 普兰县| 天长市| 南岸区| 二连浩特市| 四会市| 崇左市| 中方县| 遵义县| 兴义市| 黎平县| 玛曲县| 龙胜| 云南省| 贺州市| 周口市| 许昌县| 泰安市| 梁山县| 德惠市| 保定市| 栾城县| 河东区| 白银市| 隆子县| 永福县|