使用JavaScript检测浏览器缩放级别

4

在用户改变浏览器缩放级别和默认缩放级别时,是否可以使用JavaScript检测浏览器缩放级别,并根据缩放级别更改调用不同的XML文件。


4
不要因为不满意原来的答案而重新发布相同的问题。 - zzzzBov
1
特别是当原始答案完全有效时。 - Christian Mann
这个回答解决了你的问题吗?如何在所有现代浏览器中检测页面缩放级别? - gre_gor
2个回答

6
我发现需要为每个浏览器进行变化:
在Safari和Chrome上表现很好:
zoom = parseInt(document.defaultView.getComputedStyle(document.documentElement, null).width,10)/document.documentElement.clientWidth

这在IE8+中运行良好(除非用户有一些奇怪的屏幕....):

zoom = window.screen.deviceXDPI/96

对于Firefox和IE7,我使用 这个,不过我仍然无法在Mac上的Firefox上使其工作...

祝好运。


0

这将提供相对于页面首次加载时的初始缩放比例的当前缩放比例,如果页面以无缩放(100%)加载,则会给出实际的当前缩放比例:

window.addEventListener('resize',()=>{
    var height = Math.max( body.scrollHeight, body.offsetHeight, 
      html.clientHeight, html.scrollHeight, html.offsetHeight );
      const ratio = ( height /  document.documentElement.clientHeight )
      if (!window.zc_)
      {
        window.zc_ = 100/ratio
      }
    const zoom = ratio* window.zc_
    console.log(
      zoom
      );
    })

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接