键盘弹出对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高度,切换输入法可能会导致高度正常,但可能会导致固定定位的元素显示异常。