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);
        });

    测试后成功。

     

  • 相关阅读:
    程序编译与代码优化 -- 早期(编译期)优化
    Java字节码指令
    知识点
    Openresty配置文件上传下载
    Openresty + nginx-upload-module支持文件上传
    G1日志分析
    Garbage First(G1)垃圾收集器
    Java内存分析工具jmap
    编译JDK1.7
    Java服务CPU占用高问题定位方法
  • 原文地址:https://www.cnblogs.com/yyjspace/p/13706473.html
Copyright © 2011-2022 走看看