史宾格
史宾格
  • 发布:2017-10-25 10:17
  • 更新:2017-10-25 13:25
  • 阅读:898

页面通知刷新 求救

分类:HTML5+

其实场景很简单 就是我在菜单页选择菜品foodlist
然后openwindow打开美食购物车 foodcart页编辑 然后在确认页生产订单跳到支付页
同时自定义事件通知
清空购物车和刷新foodlist页面
在订单确认页上是
var ws = plus.webview.getWebviewById('food_cart');
var wd = plus.webview.getWebviewById('foodList');
mui.fire(ws, 'refresh');
mui.fire(wd, 'refresh');

然后分别在foodlist 和foodcart 页面上添加监听事件
window.addEventListener('refresh', function() {
location.reload();
})
可是我一点击确认订单生成后 不openwindow支付页而是会自动打开最后一个通知的foodlist 页面
求大家帮忙解决 好几天了
自己写的小demo 也没什么问题

2017-10-25 10:17 负责人:无 分享
已邀请:
Neil_HL

Neil_HL

如果你只是想刷新前两个页面,不需要自定义事件,直接新开支付页面的时候,刷新前两个页面;

var wd = plus.webview.getWebviewById('foodList');  
wd.reload();
  • 史宾格 (作者)

    很感激你的帮忙,这种方法我也试过。我一共三个页面需要通知刷新 购物车,菜单页,个人中心

    var page = plus.webview.getWebviewById('Pages/footer/owncenterNew.html');

    var ws = plus.webview.getWebviewById('food_cart');

    var wd = plus.webview.getWebviewById('foodList');

    ws.reload();

    wd.reload();

    page.reload();

    我再支付页写的这些,可是一跳转到支付页后又自己调回到菜单页了...

    我不知道究竟哪里出问题了 是不是什么webview的机制我不懂啊

    2017-10-25 11:33

  • Neil_HL

    回复 史宾格:"调回"==“跳回”?如果是这样的话,你先试试,不刷新那三个页面,看是否跳转到餐单页面,如果跳回的话说明问题在支付页面,否则就是其他三个页面刷新的时候执行了菜单页面的show()事件,你试试一个一个排查,看问题在哪,还不行的话,可以把工程简化一下发出来,我们帮你看看。

    2017-10-25 12:17

  • 史宾格 (作者)

    回复 Neil_HL:嗯 试过了,如果不执行刷新的话是不会跳转到其他页面的,并且我用mui.fire自定义事件的时候,如果在

    window.addEventListener('refresh', function() {

    console.log('test')

    })是不会跳转到其他页的,应该就是指定页面刷新的时候又自己show出来了,我怀疑是不是我的foodlist页面里面有问题 但看了看 也没什么特殊的代码

    我附上了foodlist和其中的js 你看看有什么问题

    谢谢

    我的附件 在我的帖子下面

    2017-10-25 14:53

  • Neil_HL

    回复 史宾格:附件看不出啥问题,你试试再打开支付页面时,一个一个的刷新那三个页面,看到底是那个页面有问题。

    2017-10-25 15:12

  • 史宾格 (作者)

    回复 Neil_HL: 已经改动 应该是ready 加载的问题 把需要执行的方法封装 接到通知后再执行封装的方法 达到效果

    2017-10-30 15:26

史宾格

史宾格 (作者) - 80后IT

嗯 试过了,如果不执行刷新的话是不会跳转到其他页面的,并且我用mui.fire自定义事件的时候,如果在
window.addEventListener('refresh', function() {
console.log('test')
})是不会跳转到其他页的,应该就是指定页面刷新的时候又自己show出来了,我怀疑是不是我的foodlist页面里面有问题 但看了看 也没什么特殊的代码
我附上了foodlist和其中的js 你看看有什么问题
谢谢

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