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 : 其他參考資料:
-
MUI:頁面傳參終極版 – 青峰專欄 – 部落格頻道 – CSDN.NET http://blog.csdn.net/kepoon/a…