13919049954

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

作者: 日期:2017/9/8 13:41:14 人气:316

        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 框里打开,非常坑。


            金城在线专注网站、软件、APP、微信公众平台、小程序、抖音、头条等开发推广,如果您有这方面的需求或者不同的观点,欢迎联系交流。

    官方微信

    本文网址:http://www.lz.net.cn/SEOyouhua/267.html
    读完这篇文章后,您心情如何?
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    更多>>网友评论
    发表评论