【问题标题】:Detect Browser zoom level using javascript使用 javascript 检测浏览器缩放级别
【发布时间】:2011-05-07 01:11:58
【问题描述】:

是否可以在用户更改浏览器缩放级别时检测浏览器缩放级别,以及使用javascript的默认缩放级别。我需要根据缩放级别的变化调用不同的xml文件。

【问题讨论】:

  • -1:不要仅仅因为你不喜欢原来的答案就转发同一个问题。
  • 尤其是当原始答案完全有效时。

标签: javascript css


【解决方案1】:

我发现你必须为每个浏览器而变化:

这在 safari 和 chrome 中效果很好:

zoom = parseInt(document.defaultView.getComputedStyle(document.documentElement, null).width,10)/document.documentElement.clientWidth

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

zoom = window.screen.deviceXDPI/96

对于 Firefox 和 IE7,我使用 this 虽然我还没有让它在 Mac 上与 Firefox 一起工作......

祝你好运。

【讨论】:

    【解决方案2】:

    这将给出页面首次加载时相对于初始缩放的当前缩放比例,如果加载时没有缩放(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
          );
        })
    

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 2015-04-24
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 2012-04-06
      • 2013-04-11
      相关资源
      最近更新 更多