iOS iPadOS safari 独立Web应用屏幕旋转的时候 onresize window.innerHeight 数值不对。

这篇具有很好参考价值的文章主要介绍了iOS iPadOS safari 独立Web应用屏幕旋转的时候 onresize window.innerHeight 数值不对。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

iOS iPadOS safari 独立Web应用屏幕旋转的时候 onresize window.innerHeight 数值不对

一、问题描述

我有一个日记应用,是可以作为独立 Web 应用运行的那种,但在旋转屏幕的时候获取到的 window.innerHeightwindow.innerWidth 就不对了,不是屏幕的正常尺寸。导致内容显示不正常。iPhone和 iPad 上都是这样的。

本来应该是这样的。
iOS iPadOS safari 独立Web应用屏幕旋转的时候 onresize window.innerHeight 数值不对。,前端,# JS,# iOS,前端,ios,safari
在旋转一次再转回来的时候就成了这样

iOS iPadOS safari 独立Web应用屏幕旋转的时候 onresize window.innerHeight 数值不对。,前端,# JS,# iOS,前端,ios,safari

我在程序里是这样写的:

window.onresize = () => {
    this.SET_INSETS({
        windowsHeight: window.innerHeight,
        windowsWidth: window.innerWidth,
        heightPanel: window.innerHeight - 45, // 除 navbar 的高度
    })
}

二、问题解决

搜了下 google 找到了解决办法:虽然 window.innerHeightwindow.innerWidth 的数值不对,但 document.documentElementclientHeightclientWidth 是对的。

window.onresize = () => {
    this.SET_INSETS({
        windowsHeight: window.innerHeight,
        windowsWidth: window.innerWidth,
        heightPanel: window.innerHeight - 45, // 除 navbar 的高度
    })
    console.log('window.innerHeight:', window.innerHeight, window.innerWidth)
    console.log('clientWidth:', document.documentElement.clientWidth, document.documentElement.clientHeight)
}

加上这两个输出能看到结果,在屏幕旋转的时候 clientHeightclientWidth 的数值是正确的。

iOS iPadOS safari 独立Web应用屏幕旋转的时候 onresize window.innerHeight 数值不对。,前端,# JS,# iOS,前端,ios,safari

三、结果

换获取高度和宽度的途径换成 document.documentElement.clientHeightdocument.documentElement.clientWidth 就好了文章来源地址https://www.toymoban.com/news/detail-531844.html

到了这里,关于iOS iPadOS safari 独立Web应用屏幕旋转的时候 onresize window.innerHeight 数值不对。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iOS屏幕旋转

    1.屏幕旋转相关枚举 关于屏幕旋转枚举一共有3种: UIInterfaceOrientation,    UIInterfaceOrientationMask,   UIDeviceOrientation 1.1 UIInterfaceOrientation 和 UIDeviceOrientation UIDeviceOrientation是设备当前所处的方向, 它有7个值 UIInterfaceOrientation 是屏幕当前所处的方向,它有5个值 UIInterfaceOrientation和

    2024年02月15日
    浏览(31)
  • iOS 16.4后 Safari 开发中不能调试Web页面

    项目中有WKWebView, iPhone和模拟器 升级到16.4后 不能使用Safari 调试? 以前挺好的为啥现在不行了? 这时候有两个方案, 第一, 使用低版本模拟器 16.2 16.0 等都可以. 第二, 设置 inspectable (OC), isInspectable (Swift) ---------------------- 官方文档 isInspectable | Apple Developer Documentation 简单的说,在

    2024年02月15日
    浏览(52)
  • 如何升级iOS17/iPadOS17公测版?iOS17公测版升级教程

    苹果官方发布了iOS 17/iPadOS 17系统首个公测版更新,其版本号及更新内容与iOS 17 beta 3一致,版本号为21A5277j。 对于想升级iOS 17/iPadOS 17 公测版的用户,可以参考本教程进行操作。 升级注意事项: 1. 为防止意外情况,在升级之前,请提前备份好设备内的所有数据。 2. 在升级之后

    2024年02月16日
    浏览(37)
  • iOS原生应用屏幕适配完整流程

    1. 已iPhone 11 布局为设计布局,其他机型已这个来适配 2.变量与控件对应关系 txtViewer: txtAccount   txtpwd seg   btnOk   3.适配方法实现:

    2024年01月19日
    浏览(44)
  • 用 RemoteDebug iOS Webkit 在 Chrome DevTools 中调试iOS/iPadOS设备的前端页面

      相信很多小伙伴在开发移动端网页时,都会遇到兼容性问题的修改,尤其是当项目运行在真机上时,一些奇奇怪怪的bug接踵而至,很是头疼。在Android设备上,我们可以轻松的在Chrome DevTools上进行调试,但面对iOS设备,在我们没有Mac电脑的情况下,调试iOS的页面就是困难重

    2024年02月03日
    浏览(40)
  • 【iOS免越狱】利用IOS自动化web-driver-agent_appium-实现自动点击+滑动屏幕

    1.目标 在做饭、锻炼等无法腾出双手的场景中,想刷刷抖音 刷抖音的时候有太多的广告 如何解决痛点 抖音自动播放下一个视频  iOS系统高版本无法 越狱 安装插件 2.操作环境 MAC一台,安装 Xcode iPhone一台,16 系统以上最佳  3.流程 下载最新 web-driver-agent_appium xcode 打开  配置

    2024年02月08日
    浏览(42)
  • 同步推送?苹果计划本月推出 iOS17和iPadOS17,你的手机支持吗?

    据报道,苹果公司计划在本月推出 iOS 17 和 iPadOS 17 正式版更新。与去年不同的是,这次更新将同时发布,而不是分别发布。根据彭博社的一位消息人士马克・古尔曼的说法,苹果公司认为 iOS 17 和 iPadOS 17 的第八个测试版已经非常接近最终版本,除非有意外情况发生,否则将

    2024年02月09日
    浏览(39)
  • ios safari 正则兼容问题

    系统是自己开发的采购管理系统; 最近升级系统之后客户反馈部分苹果手机现在在进入单据界面的时候报错, 内容显示不全; 安卓手机正常; 苹果首页是之前有使用过系统的才不行, 如果是之前没有使用过系统, 现在也是可以 (后面查证这一点可能不是很准确, 跟是否等过过系统没

    2024年02月07日
    浏览(52)
  • 【2023】使用WIN/iOS/iPadOS/Android的远程办公方案(服务器开启多隧道,可打通多台远程win主机)

    【2023】使用WIN/iOS/iPadOS/Android的远程办公方案(服务器开启多隧道,可打通多台远程win主机) 本人原发布链接 https://zhuanlan.zhihu.com/p/641285762 简介:使用服务器开启多个隧道,让多台主机能够通过公网ip暴露出来,方便远程连接。 前传:https://zhuanlan.zhihu.com/p/352342803 最近需要再

    2024年02月13日
    浏览(41)
  • 让iOS Safari浏览器支持油猴脚本

    Userscripts 是一款免费 iOS Safari 浏览器插件,可以兼容油猴脚本,但如果油猴脚本代码没有对手机进行适配的话可能不会生效。  1、 首先 打开设置 找到  Safari 浏览器  选择  扩展  然后 勾选  Userscripts  所有网站中 选择  允许     然后打开 Userscripts 后按照下图所示,在

    2024年02月13日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包