Bug: iPhone4/iOS6 动态修改 viewport 后浏览器右侧/底部会出现一片黑色或白色区域
同时测试过 iPhone4/iOS7 没有这个bug, 应该可以认定是 iOS6 才会有这个bug.
当初始化页面时设置 viewport initial-scale=1
, 之后再动态修改为 initial-scale=小于1的数值
, 即对页面的 viewport 进行缩小操作.
例如初始化时 viewport 如下:
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
再通过 JavaScript 动态修改为:
<meta name="viewport" content="width=device-width,initial-scale=0.5,user-scalable=no">
duangduang
关键是要注意在初始化页面时设置 viewport width=320.1
, 非常之诡异!
PS: 在查了N多资料, N多尝试后发现, 其实只要不将width设置成320或device-width即可, 其他任何数字都可以! 不设置width这个属性也可以!
然而我们最常用的就是 width=device-width, 被 iOS6 坑了啊!
Web apps can be letterboxed, but only if their viewport’s width is set to either device-width or 320. To set the proper scale and avoid letterboxing, set the viewport’s initial scale to 1.0.
- iPhone4/iOS6 browser viewport appear black or white area bug
- Fix iPhone4/iOS6 browser viewport appear black or white area bug
修改过bug后, 页面终于正常了!
duangduang
- iOS 8 web apps
- iPhone 5 and iOS 6 for HTML5 developers, a big step forward: web inspector, new APIs and more
- iPhone 5 web app startup image
- Full screen web app in iPhone 5 (save to home screen)
- Webapp on iphone 5 shows wrong height
- Prevent web app letterboxing on iOS6 4in retina iPhone
- iOS Webapp Updates for iPhone 5
- WebAPP ViewPort iPhone5 黑边解决方案
bug出现时的样子

解决bug后, 显示正常
