美文网首页让前端飞
js 监控缩放比例

js 监控缩放比例

作者: 冰已凋零 | 来源:发表于2017-04-12 13:31 被阅读0次
1. window.devicePixelRatio

张鑫旭博客
附:window.devicePixelRatio已支持 ** ie11 **

2. ie下的window.screen.deviceXDPIwindow.screen.logicalXDPI

eviceXDPI 就是对应的设备上的物理像素,而 logicalXDPI 就是对应了设备独立像素的比例。估计标准的检测接口也只是基于 IE 这种方法的一种改进。这两个属性在 windows XP+ 以上的系统上的默认值都是 96,因为系统默认的就是 96dpi 。

3. window.outerWidthwindow.innerWidth

outerWidth 返回的是窗口元素的外部实际宽度,innerWidth 返回的是窗口元素的内部实际宽度,这两个宽度都包含了滚动条在内的宽度。

实现函数 detectZoom ()

detectZoom 函数的返回值如果是 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;
};
Copy文章

js检测页面缩放

相关文章

网友评论

    本文标题:js 监控缩放比例

    本文链接:https://www.haomeiwen.com/subject/tifmattx.html