js檢測瀏覽器內容縮放效果程式碼例項
首先強調一點,這裡所謂的瀏覽器內容縮放不是調整瀏覽器視窗的大小。
而是調整網頁內容的大小,比如按住ctrl鍵,然後滾動滑鼠中鍵出現的效果。
實現檢測的方式多種多樣,本章介紹一下如何利用javascript實現此功能,對於IE6瀏覽器來說,本章節就忽略不計了,因為它的縮放只是對文字大小的縮放,其他的沒有效果。
一.在標準瀏覽器中:
使用window.devicePixelRatio即可返回裝置的物理畫素和獨立畫素的比例。
該屬性的返回值可以檢測網頁是否進行了縮放。
在通常的pc瀏覽器的預設狀態下,預設值是1。
瀏覽器相容:
谷歌瀏覽器支援此屬性。
火狐瀏覽器支援此屬性。
IE11和IE11以上瀏覽器支援此屬性。
二.低版本的IE瀏覽器:
在IE10和IE10以下的瀏覽器中,並不支援window.devicePixelRatio屬性。
但是提供了window.screen.deviceXDPI和window.screen.logicalXDPI屬性,deviceXDPI就是對應的裝置上的物理畫素,而logicalXDPI是對應了裝置獨立畫素的比例。這兩個屬性在windows XP+ 以上的系統上的預設值都是 96,因為系統預設的就是96dpi。對於以上兩種都不支援的瀏覽器,還可以利用window.outerWidth和 window.innerWidth這兩個屬性。outerWidth 返回的是視窗元素的外部實際寬度,innerWidth 返回的是視窗元素的內部實際寬度,這兩個寬度都包含了滾動條在內的寬度。
程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>無標題文件</title> <script type="text/javascript"> 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; alert(ratio) } } else if (window.outerWidth !== undefined && window.innerWidth !== undefined) { ratio = window.outerWidth / window.innerWidth; } if (ratio){ ratio = Math.round(ratio * 100); } return ratio; }; window.onload=function(){ var obt=document.getElementById("bt"); obt.onclick=function(){ alert(detectZoom()); } } </script> </head> <body> <div>按住ctrl鍵,然後滾動滑鼠中鍵就可以進行縮放。</div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
裝置獨立畫素可以理解為網頁的css畫素,具體可以參閱裝置畫素和css畫素畫素簡單介紹一章節。
相關文章
- js檢測搜狗瀏覽器、百度瀏覽器、微信瀏覽器程式碼例項JS瀏覽器
- 檢測360瀏覽器javascript程式碼例項瀏覽器JavaScript
- js檢測當前瀏覽器Flash player版本程式碼例項JS瀏覽器
- js判斷微信內建瀏覽器程式碼例項JS瀏覽器
- 相容所有瀏覽器的模糊效果程式碼例項瀏覽器
- js判斷IE瀏覽器程式碼例項JS瀏覽器
- js判斷微信瀏覽器程式碼例項JS瀏覽器
- js判斷瀏覽器型別程式碼例項JS瀏覽器型別
- js文字內容感應滑鼠懸浮效果程式碼例項JS
- js實現的div元素尺寸彈性縮放效果程式碼例項JS
- js獲取瀏覽器視窗尺寸程式碼例項JS瀏覽器
- javascript元素內容漸現效果程式碼例項JavaScript
- 判斷IE瀏覽器程式碼例項瀏覽器
- js如何實現清空瀏覽器快取程式碼例項JS瀏覽器快取
- js獲取瀏覽器客戶區尺寸程式碼例項JS瀏覽器
- canvas縮放div程式碼例項Canvas
- js相容所有主流瀏覽器建立XMLhttpRequest物件例項程式碼JS瀏覽器XMLHTTP物件
- javascript判斷uc瀏覽器程式碼例項JavaScript瀏覽器
- 相容所有瀏覽器的progress程式碼例項瀏覽器
- css禁止文字縮放程式碼例項CSS
- 滑鼠懸浮div實現旋轉縮放效果程式碼例項
- js獲取指定單元格的內容程式碼例項例項JS
- 使用javascript判斷瀏覽器核心程式碼例項JavaScript瀏覽器
- 判斷瀏覽器型別的程式碼例項瀏覽器型別
- 模擬發放紅包效果程式碼例項
- js判斷IE6至IE8瀏覽器程式碼例項JS瀏覽器
- js實現的判斷當前瀏覽器是否flash程式碼例項JS瀏覽器
- js獲取瀏覽器版本作業系統等資訊程式碼例項JS瀏覽器作業系統
- js重力球效果程式碼例項JS
- js煙花效果程式碼例項JS
- js鐘錶效果程式碼例項JS
- js秒錶效果程式碼例項JS
- 字型隨瀏覽器縮放變化瀏覽器
- js判斷IE瀏覽器版本例項程式碼JS瀏覽器
- javascript獲取瀏覽器視口尺寸程式碼例項JavaScript瀏覽器
- js禁止使用滑鼠選中元素內容程式碼例項JS
- 文字框輸入內容實現智慧提示效果程式碼例項
- css內邊框效果程式碼例項CSS