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

javascript檢測瀏覽器的縮放狀態(tài)實現(xiàn)代碼

 更新時間:2014年09月28日 11:57:49   作者:前端開發(fā)  
這篇文章主要介紹了javascript檢測瀏覽器的縮放狀態(tài)實現(xiàn)代碼,需要的朋友可以參考下

這里所說的縮放不是指瀏覽器大小的縮放,而是指瀏覽器網(wǎng)頁內(nèi)容的百分比縮放(按Ctrl和+號鍵或者-號鍵的縮放)。
檢測這種縮放有很種方法,QQ空間都通過flash來檢測瀏覽器是否處于縮放。這里提供javascript的方法來檢測瀏覽器的縮放。
對于 IE6,就直接無視了,因為 IE6 只能對文本進行縮放。
先來說說瀏覽器提供的標準檢測接口,window.devicePixelRatio 是設(shè)備上物理像素和設(shè)備獨立像素的比例,該屬性就可以用于檢測網(wǎng)頁是否被縮放了。在普通的 PC 瀏覽器上,在默認無縮放的情況下其默認值是 1。目前Firefox、chrome等都得到了很好的支持。
好吧,接下來該說說 IE 的處理方法了。IE 提供了 window.screen.deviceXDPI 和 window.screen.logicalXDPI 兩個屬性,deviceXDPI 就是對應(yīng)的設(shè)備上的物理像素,而 logicalXDPI 就是對應(yīng)了設(shè)備獨立像素的比例。估計標準的檢測接口也只是基于 IE 這種方法的一種改進。這兩個屬性在 windows XP+ 以上的系統(tǒng)上的默認值都是 96,因為系統(tǒng)默認的就是 96dpi 。
對于以上兩種都不支持的瀏覽器,還可以利用window.outerWidth 和 window.innerWidth 這兩個屬性。outerWidth 返回的是窗口元素的外部實際寬度,innerWidth 返回的是窗口元素的內(nèi)部實際寬度,這兩個寬度都包含了滾動條在內(nèi)的寬度。
有了這些屬性基本就可以搞定 PC 瀏覽器上常見的瀏覽器了。實現(xiàn)代碼如下:

detectZoom 函數(shù)的返回值如果是 100 就是默認縮放級別,大于 100 則是放大了,小于 100 則是縮小了。

function detectZoom (){ 
  var ratio = 0,
    screen = window.screen,
    ua = navigator.userAgent.toLowerCase();

   if (window.devicePixelRatio !== undefined) {
      ratio = window.devicePixelRatio;
  }
  else if (~ua.indexOf('msie')) {  
    if (screen.deviceXDPI && screen.logicalXDPI) {
      ratio = screen.deviceXDPI / screen.logicalXDPI;
    }
  }
  else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
    ratio = window.outerWidth / window.innerWidth;
  }
  
   if (ratio){
    ratio = Math.round(ratio * 100);
  }
  
   return ratio;
};

原創(chuàng)文章,轉(zhuǎn)載請注明: 轉(zhuǎn)載自前端開發(fā)

相關(guān)文章

  • JS+CSS實現(xiàn)簡易實用的滑動門菜單效果

    JS+CSS實現(xiàn)簡易實用的滑動門菜單效果

    這篇文章主要介紹了JS+CSS實現(xiàn)簡易實用的滑動門菜單效果,涉及JavaScript鼠標事件及頁面元素遍歷的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • 服務(wù)端預(yù)渲染之Nuxt(使用篇)

    服務(wù)端預(yù)渲染之Nuxt(使用篇)

    這篇文章主要介紹了服務(wù)端預(yù)渲染之Nuxt(使用篇),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 詳解JavaScript中精度失準問題及解決方法

    詳解JavaScript中精度失準問題及解決方法

    這篇文章主要介紹了JavaScript中精度失準問題及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • javascript實現(xiàn)延時顯示提示框特效代碼

    javascript實現(xiàn)延時顯示提示框特效代碼

    本文給大家分享的是javascript通過setTimeout實現(xiàn)延時顯示提示框的特效代碼,效果非常棒,這里推薦給大家
    2016-04-04
  • ECharts事件處理與旭日圖實現(xiàn)

    ECharts事件處理與旭日圖實現(xiàn)

    這篇文章介紹了ECharts事件處理與實現(xiàn)旭日圖的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 如何通俗的解釋TypeScript 泛型

    如何通俗的解釋TypeScript 泛型

    這篇文章主要介紹了TypeScript 泛型,對泛型感興趣的同學(xué),可以參考下
    2021-05-05
  • alixixi runcode.asp的代碼不錯的應(yīng)用

    alixixi runcode.asp的代碼不錯的應(yīng)用

    alixixi runcode.asp的代碼不錯的應(yīng)用...
    2007-08-08
  • 利用JavaScript構(gòu)建樹形圖的方法詳解

    利用JavaScript構(gòu)建樹形圖的方法詳解

    ?樹形圖可視化廣泛用于分層數(shù)據(jù)分析。如果你沒有經(jīng)驗還想創(chuàng)建一個,那將會有些復(fù)雜。下面是一個詳細教程,教你如何使用JavaScript創(chuàng)建交互式樹形圖
    2022-06-06
  • JS實現(xiàn)的雪花飄落特效示例

    JS實現(xiàn)的雪花飄落特效示例

    這篇文章主要介紹了JS實現(xiàn)的雪花飄落特效,結(jié)合實例形式詳細分析了JavaScript結(jié)合時間函數(shù)動態(tài)操作頁面元素的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • 原生JavaScript實現(xiàn)網(wǎng)頁版計算器

    原生JavaScript實現(xiàn)網(wǎng)頁版計算器

    這篇文章主要為大家詳細介紹了原生JavaScript實現(xiàn)網(wǎng)頁版計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論

西平县| 棋牌| 建德市| 岳阳市| 于都县| 洮南市| 唐山市| 南澳县| 三门县| 开化县| 鸡泽县| 安阳市| 精河县| 池州市| 微山县| 巍山| 安化县| 达尔| 兴和县| 防城港市| 扎兰屯市| 满洲里市| 大竹县| 宜黄县| 阿坝县| 女性| 常州市| 长寿区| 勐海县| 清河县| 沂源县| 郯城县| 文登市| 黑河市| 漳平市| 湘潭县| 漯河市| 绍兴县| 芦溪县| 金华市| 桃园市|