在微信上做HTML5 网页和普通的网页开发有何不同?

网站建设知识 phpacg 3年前 (2018-04-24) 120次浏览 0个评论

1. 在 iOS 上,Safari 里翻开的页面在进入后台后会中止渲染行为和运转 js,但是在 webview (包括微信的里的 webview)里翻开的页面,当运用进入后台时,并不会中止渲染行为,也不会中止运转 js,也不会触发页面可见性的变化,甚至帧率都不会降低。直到运用因内存缺乏被杀死之前页面都是正常运转的。

正是由于这个,微信里运转的网页似乎没有什么方法可以知道自己能否进入了后台。

P.S. 其实帧率也不是完全不变的,webview 在进入后台时会有一个很持久的帧率突然减小的行为,我依据这个写过一个经过火析帧率变化来判别页面能否进入后台的 demo,效果还不错。(留意,这个行为似乎不是由功用直接招致的,我在功用十分高的模拟器上跑 demo 依然是 work 的,帧率变化和真机上差不多)。但是影响帧率的要素太多了,而且我不知道原理是什么,所以没什么价值。

2. 在 webview 的一个 iframe 里假设有一个 target=”_blank” 的链接,我们预期的行为是点击后在最外层页面翻开链接,但是局部安卓时机直接在 iframe 里翻开链接,有的 Android 4 以上的机器也有这个 bug(看规范应该算是 bug)。

这个是我之前在阿里妈妈实习时知道的,事先大大们发现我们运转在 webview 里的 iframe 广告,在一些安卓机里点击时会直接在小小的 iframe 框里翻开,十分坑。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址