如何使 window.innerHeight 在缩放时在移动设备上工作
How to make window.innerHeight work on mobile devices when zooming?
window.innerHeight
是的,它将返回移动设备上浏览器高度的值。 但是,当用户尝试捏合以放大或缩小时,问题就出现了(在某些浏览器上(。 该值不会正确调整,而是仍返回页面的完整长度。
假设加载时是 500px。 然后用户放大,高度现在为 200px。 但是,该值仍返回 500px。
有谁知道解决此问题的方法? 一直在寻找。
我解决这个问题的方法是删除代码中的任何调整大小回调。听起来很奇怪,但它对我有用。
在此链接中查看接受的答案:在 Safari 中使用 jQuery 检测页面缩放变化
如果你想要innerHeight,可能是得到原始宽度,然后缩放宽度,获取缩放比例,然后计算新的高度(缩放后(。
这对
我有用。我做的第一件事是在页面加载时从 dom 中获取 window.innerHeight 和 window.innerWidth,这样我就可以获取原始值并将它们存储在 javascript 变量中。然后在我的 window.onresize 事件处理程序中我这样做。
var height = null;
var width = null;
if (window.orientation && window.orientation == -90) {
height = myOriginalHeight;
width = myOriginalWidth;
}
else {
height = myOriginalWidth;
width = myOriginalHeight;
}
doCallbacks(width, height);
我的应用调整了很多大小,因为我尝试为所有屏幕类型编写一个 UI。根据我对该应用程序的测试,这适用于 ipad 和 andriod,并且在放大或方向更改时所有大小调整都有效,这有时会导致缩放发生。
有趣的是,移动浏览器实际上永远不会改变屏幕尺寸,因为它们是固定的,它们只是缩放。但是,如果您调整为原始宽度/高度并以这种方式处理方向,它似乎可以工作。
相关文章:
- 链接don'由于Javascript悬停效果,无法在移动设备上工作
- Phonegap地理定位无法在移动设备上工作
- Jquery.focusout无法在移动设备上工作(slicknav)
- 移动/平板设备定向部分工作
- 当我移动引用three.js的html文件时,three.js停止工作
- AngularJS代码在一个代码笔中工作,但在移动时会中断
- 我将此代码移动到一个单独的函数中,它停止工作,为什么
- 下拉在移动设备上工作很奇怪
- Foundation 5和内容可编辑(移动)不工作
- Bootstrap 3.3-导航栏无法在移动设备上工作
- 我可以'我似乎没有得到我的网站'移动导航开始工作
- 使用jQuery在焦点上选择文本框是't在移动浏览器中工作
- 针对移动设备的JQuery下拉列表没有以应有的方式工作
- 上的jQuery.on('已结束')无法在移动设备上工作
- 如何将img维度从html移动到css并保持此滑块工作
- jQuery 移动按钮无法按预期工作
- window.open()没有'无法在添加到主屏幕的移动Safari web应用程序中工作
- 如何使此应用程序与移动浏览器协同工作
- 可以'不要让HTML5音频标签在移动浏览器上工作
- 滚动不'在移动浏览器中执行手势操作后无法工作