[MUI] mui框架实现页面间传值

1 : 通过MUI封装的openWindow 方法:

mui.openWindow({
    url:new-page-url,
    id:new-page-id,
    styles:{
      top:newpage-top-position,//新页面顶部位置
      bottom:newage-bottom-position,//新页面底部位置
      width:newpage-width,//新页面宽度,默认为100%
      height:newpage-height,//新页面高度,默认为100%
      ......
    },
    extras:{
      .....//自定义扩展参数,可以用来处理页面间传值
    },
    createNew:false,//是否重复创建同样id的webview,默认为false:不重复创建,直接显示
    show:{
      autoShow:true,//页面loaded事件发生后自动显示,默认为true
      aniShow:animationType,//页面显示动画,默认为”slide-in-right“;
      duration:animationTime,//页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
      event:'titleUpdate',//页面显示时机,默认为titleUpdate事件时显示
      extras:{}//窗口动画是否使用图片加速
    },
    waiting:{
      autoShow:true,//自动显示等待框,默认为true
      title:'正在加载...',//等待对话框上显示的提示内容
      options:{
        width:waiting-dialog-widht,//等待框背景区域宽度,默认根据内容自动计算合适宽度
        height:waiting-dialog-height,//等待框背景区域高度,默认根据内容自动计算合适高度
        ......
      }
    }
})

其中:

extras : 新窗口的额外扩展参数,可用来处理页面间传值;例如:

旧页面设置:
var webview = mui.openWindow({
    url:'info.html',
    extras:{
        name:'mui'  //扩展参数
    }
});

新页面:
mui.plusReady(function () {
   var self = plus.webview.currentWebview();
   // 或 var self = plus.webview.getWebviewById('new');
   console.log("extras:" + self.targetId);
})

可能的: 
console.log(webview.name);//输出mui字符串 

注意:扩展参数仅在打开新窗口时有效,若目标窗口为预加载页面,则通过mui.openWindow方法打开时传递的extras参数无效。

参考: http://laopo.cnblogs.com/p/50...


2 : 通过HTML5本地储存: localStorage、sessionStorage

特性检测:

    if(window.sessionStorage){
        // OK
    }else{
        // FAIL
    }

参考: http://www.cnblogs.com/firstF...


3 : 利用URL传参

在页面跳转的时候通过设置window.location.href添加参数,在接收参数的页面通过window.location.search获取参数字符串。

  • 发送参数的页面:

window.location.href = 'new.html?targetId=123'
  • 接收参数的页面:

// 获取url中的参数
function getUrlParam (name) {
     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
     var r = window.location.search.substr(1).match(reg);
     if (r!= null) {
        return unescape(r[2]);
     }else{
        return null;
     }
}    
//获取url中的targetId参数
var targetId = getUrlParam('targetId');
console.log(targetId);

4 : 其他参考资料:

本文地址: https://segmentfault.com/a/11...

猜你喜欢

转载自www.cnblogs.com/homehtml/p/12500827.html
MUI