Skip to content
On this page

键盘弹出对iOS浏览器窗口高度的影响

Safari

iOS8

获取焦点和失去焦点不触发resize事件,手动打印window.innerHeight无变化

iOS9

获取焦点和失去焦点不触发resize事件,手动打印window.innerHeight无变化

iOS10.0-10.2.x

获取焦点和失去焦点不触发resize事件,手动打印window.innerHeight无变化

iOS10.3.x

获取和失去焦点不触发resize事件(获取window.innerHeight高度可能延时),手动打印window.innerHeight有变化

iOS11

获取焦点和失去焦点不触发resize事件,手动打印window.innerHeight无变化

UIWebview(H5+SDK 自动调整webview大小模式)

iOS8

获取和失去焦点触发resize事件,弹出键盘会触发多次,前次获取window.innerHeight为弹出前窗口高度,收起触发一次;切换输入法能触发resize事件(一到多次)

iOS9

获取和是去焦点都触发两次resize事件,前一次为改变前高度,后一次为改变后高度;切换输入法能触发resize事件(一到多次)

WKWebview(H5+SDK 自动调整webview大小模式)

iOS10.0-iOS10.2.x

获取和失去焦点触发resize事件,但window.innerHeight取到的值不正确,为键盘弹出前高度;document.body.scrollHeight值和窗口高度一致

iOS10.3.1

获取和失去焦点不触发resize事件,手动打印window.innerHeight有变化

iOS10.3.3

获取和失去焦点只触发一遍resize事件,第一次弹起键盘触发两次事件,第一次收起键盘触发两次,以后不再触发。手动打印window.innerHeight有变化

iOS11

获取和失去焦点触发resize事件,切换输入法能触发resize事件(多次),webview的滚动高度会超出window.innerHeight高度,切换输入法可能会导致高度正常,但可能会导致固定定位的元素显示异常。