zoukankan      html  css  js  c++  java
  • evalJS代替mui.fire

    之前一直用mui.fire调用自定义事件以达到监听目标窗口的目的。

    页面为双webview,页面跳转时

    mui.openWindow({
    url: '../choose/food-choose-content.html',
    id: 'food-choose.html',
    show: {
    autoShow: false
    }
    })

    ;目标页

    window.onload = function() {
    mui.plusReady(function() {
    plus.nativeUI.closeWaiting();
    mui.currentWebview.show("slide-in-right", 300);
    });
    };

    但是最近客户反馈发现,如果在目标页停留时间过长,mui.fire失效。官方文档也没有给出解决方案。之后我发现WebviewObject中有个evalJS,可在Webview窗口中执行JS脚本。

    var detailPage = null;
        document.getElementById("savefood").addEventListener('tap',function(){
            var data=$.JSONToString(foodArray.reverse());
            localStorage.setItem("foodData", data);
            if (!detailPage) {
                detailPage = plus.webview.getWebviewById('apply_content');
            }
            detailPage.evalJS('bindfoodlist();');//跳转页中定义bindfoodlist方法
            //console.log(detailPage.isPause);
            // mui.fire(detailPage, 'bindfoodlist', {
            //     foodData: data
            // });
            var self = plus.webview.currentWebview();
            plus.webview.hide(self);
            plus.webview.close(self);
        });

    测试后成功。

     

  • 相关阅读:
    Mysql锁
    开源的13个Spring Boot 优秀学习项目!超53K星,一网打尽!
    大批量数据处理方法
    位运算题目
    限流算法
    linux进程管理之进程创建(三)
    Linux进程管理之状态(二)
    linux进程管理之概念(一)
    #error 、 #line 和 #pragma 的使用
    #undef 的用法
  • 原文地址:https://www.cnblogs.com/yyjspace/p/13706473.html
Copyright © 2011-2022 走看看