一枚小白程序猿
一枚小白程序猿
  • 发布:2017-10-27 00:56
  • 更新:2017-10-27 15:03
  • 阅读:1114

预加载页面的一点疑问

分类:MUI

参考官方文档打开页面事件注意事项:
plusReady事件仅在webview首次创建时触发,使用mui.openWindow方法多次打开已存在的同样id的webview时,是不会重复触发plusReady事件的; 因此若业务写在plusReady事件中,可能会出现执行结果和预期不一致的情况;此时可通过自定义事件触发; 案例参考:mui.plusReady有时会失效;

问题如下:
1、如果预加载页面中通过自定义事件触发加载ui、刷新数据等操作,plusReady中做什么操作?
2、需要预加载的页面在定义的时候是写在自定义事件中还是plusReady中?

2017-10-27 00:56 负责人:无 分享
已邀请:
z***@gmail.com

z***@gmail.com - Hbuilder是个好东西

plusReady 都不能触发了,所以自定义的处理当然不能写在plusReady里了。 放 domready 里吧。

如果你 处理事件都放 domready里, 那只要页面有加载过程,那一定是会刷新了。 但是 因为 domready 和 plusReady 是 两个并行的事件, 所以不能确定谁先谁后(plusReady 如果先触发那就没啥问题), 但是如果 domready的时候, plusReady 还没有触发, 那就代表这 plus 这个对象还没有被初始化,plus这个对象下的所有方法 可能 都无法正常调用。 所以,这个时候就比较恶心了。。。

一个办法, 你可以再 domready里隔一段时间检测 plus对象有没有加载成功,等成功了在做后续处理。

  • 一枚小白程序猿 (作者)

    setinterval貌似也是个办法,预加载确实流畅,但就是感觉有点别扭,尤其是这个plusReady 中不知道放什么了

    2017-10-29 21:52

回梦無痕

回梦無痕 - 暂停服务

mui.plusReady有时会失效???我想倒是知道,怎么失效的。我做个好多个APP都没见过失效,想见识一下。

  • 一枚小白程序猿 (作者)

    上边那段话是官方的文档,要是想测试很简单,先预加载一个页面,然后plusReady中随便打印个内容,然后多次打开这个预加载页面,看看打印信息是不是只有一次,如果不是一次,那证明你用的不是预加载

    2017-10-29 21:50

  • 回梦無痕

    回复 一枚小白程序猿:???这叫做失效?是正常现象好不好?!都已经预加载了,脚本肯定会执行一次,如果想要多次触发某段代码,肯要写自定义时间触发的。

    2017-10-30 00:00

  • 回梦無痕

    回复 一枚小白程序猿:是你的理解不够,才觉得失效的,其实一切都正常。

    2017-10-30 00:10

该问题目前已经被锁定, 无法添加新回复