webview也创建了,但真不知道为什么报这样的错,求大神指点
下面是代码
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>订单列表</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="css/mui.min.css" rel="stylesheet" />
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<header class="mui-bar mui-bar-nav header">
<h1 class="mui-title">订单</h1>
</header>
<div class="mui-content">
<!--列表信息流 开始-->
<ul id="orders" class="mui-table-view"></ul>
<!--列表信息流 结束-->
</div>
<script id="list" type="text/html">
{{each stories as order}}
<li class="mui-table-view-cell mui-media" id="{{order.id}}">
<div class="mui-media-body">
这里是测试客户名称
<span class="mui-badge mui-badge-success num">20</span>
<p class='mui-ellipsis'>
<div class="type">order.title</div>
<div class="time">{{order.id}}</div>
</p>
</div>
</li>
{{/each}}
</script>
<script type="text/javascript" src="js/template-web.js"></script>
<script type="text/javascript" src="js/mui.min.js" ></script>
<script >
//初始化预加载详情页面
mui.init({
preloadPages: [{
id: 'test.html',
url: 'test.html'
}]
});
var detailPage = null;
//添加列表项的点击事件
mui('.mui-table-view').on('tap', 'li', function(e) {
var id = this.getAttribute('id');
//获得详情页面
if(!detailPage) {
detailPage = plus.webview.getWebviewById('test.html');
}
//触发详情页面的newsId事件
mui.fire(detailPage, 'id', {
id: id
});
//打开详情页面
mui.openWindow({
id: 'test.html'
});
});
mui.plusReady(function() {
//请求列表信息流
mui.ajax("https://news-at.zhihu.com/api/4/theme/11", {
dataType: 'json',
type: 'get',
timeout: '10000',
success: function(data) {
var html = template('list', data);
document.getElementById('orders').innerHTML = html;
},
error: function(xhr, type, errorThrown) {
console.log(type);
}
});
});
/**
* 格式化时间的辅助类,将一个时间转换成x小时前、y天前等
*/
var dateUtils = {
UNITS: {
'年': 31557600000,
'月': 2629800000,
'天': 86400000,
'小时': 3600000,
'分钟': 60000,
'秒': 1000
},
humanize: function(milliseconds) {
var humanize = '';
mui.each(this.UNITS, function(unit, value) {
if(milliseconds >= value) {
humanize = Math.floor(milliseconds / value) + unit + '前';
return false;
}
return true;
});
return humanize || '刚刚';
},
format: function(dateStr) {
var date = this.parse(dateStr)
var diff = Date.now() - date.getTime();
if(diff < this.UNITS['天']) {
return this.humanize(diff);
}
var _format = function(number) {
return(number < 10 ? ('0' + number) : number);
};
return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDay()) + '-' + _format(date.getHours()) + ':' + _format(date.getMinutes());
},
parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
var a = str.split(/[^0-9]/);
return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
}
};
</script>
</body>
</html>
test.html如下:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="css/mui.min.css" rel="stylesheet" />
</head>
<body>
<script src="js/mui.min.js"></script>
<script type="text/javascript">
mui.init()
//添加newId自定义事件监听
window.addEventListener('id', function(event) {
//获得事件参数
var id = event.detail.id;
//根据id向服务器请求新闻详情
.....
});
</script>
</body>
</html>
1***@qq.com (作者)
我代码里写的就按文档里的啊 id确实传了的 求教
2018-01-16 16:54
BoredApe
试试 通过id 获取webview能否获取到
2018-01-16 16:54
BoredApe
在chrome://inspect 中火车 plus.webview.all() 查看一下 预加载的页面是否成功创建。
2018-01-16 16:55