服务与支持 |咨询热线 0931-8733767
  • 金城在线
  • 公司简介
  • 发展历程
  • 企业文化
  • 售后服务
  • 工作机会
  • 联系我们

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

来源:发布时间:2017-9-8 13:41:14

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


相关文章
  • 预约专家

    为您提供一对一解决方案
    立即预约
  • 售前咨询

    周一至周五9:00——17:30
    立即咨询
  • 联系方式

    13919049954

    全国7×24小时热线服务
  • 免费报价

    专属专业顾问1对1报价
    免费报价