本人还是倾向于按需创建的原则,参照demo中预加载的方法,作出了修改,调用方法:
mui.ck_openWindow({
title: "窗口标题",
name: "窗口id",
content: "窗口URL"
});
以下写在公用文件的js内
(function($) {
$.ck_openWindow = function(options) {
var defaults = {title: "", name: "", content: ""},
settings = $.extend({}, defaults, options);
if(!settings.name) {
$.alert("创建 窗口失败:name不能为空");
return false;
}
if(!settings.content) {
$.alert("创建 窗口失败:没有指定content位置");
return false;
}
//主webview
var mainWebview = $.openWindow({
id: settings.name + "-main",
url: "../layouts/default-template.html",
extras:{
title: settings.title
}
});
//子webview
var subWebview = $.preload({
id: settings.name + "-sub",
url: settings.content,
styles:{
top: '45px',
bottom: '0px',
}
});
subWebview.addEventListener('loaded', function() {
setTimeout(function() {
mainWebview.append(subWebview);
}, 400);
});
}
})(mui);
以下是主webview的html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<link rel="stylesheet" href="../css/mui.min.css">
<script src="../js/jquery-1.10.2.min.js"></script>
<script src="../js/mui.min.js"></script>
<script src="../js/app.js"></script>
<style type="text/css">
.mui-loader {
position: absolute;
top: 25%;
width: 100%;
height: 60%;
color: #888;
font-size: 14px;
text-align: center;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 id="title" class="mui-title"></h1>
</header>
<div class="mui-loader">加载中...</div>
<script type="text/javascript">
mui.plusReady(function(){
var self = plus.webview.currentWebview();
$("#title").text(self.title);
});
</script>
</body>
</html>
CKHan (作者)
譬如以下一个场景:从 我-> 订单列表 -> 订单详细页 -> 物流查询页 依次序打开,然后一步一步返回后退,到退回到订单列表(是滚动异步加载数据的,每次10条记录,已经加载了30条记录,页面肯定有滚动过),利用这种方式,后退的时候,你是如何实现回到页面的原状态呢?
2015-04-30 10:42
枫桥居APP
回复 CKHan:这个我也在研究,我是想用store保存url,点击返回的时候读取上一条history,然后读取出来,然后把那条记录删除,至于滚动我想可以不做,如果要做滚动也可以把当前页的url和滚动条位置都保存到store.这个功能如果封装成一个插件的话,调用起来会很方便!思路是这样的
2015-04-30 13:18
枫桥居APP
回复 CKHan:js保存记录可以用栈,后进先出,每个元素为一个对象,既可以保存url又可以保存滚动位置或者标题之类的
2015-04-30 13:22