抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

chrome调试,必须在配置文件里打开调试的选项.遇到显示手机不显示页面,说明安卓4.4以下系统.白屏是因为必须翻墙


调用入口页面,也就是首页.可使用下面方法.

1
2
// 查找应用首页窗口对象
var h=plus.webview.getWebviewById( plus.runtime.appid );

预加载时,id和url都必须的设置.要不真机调试时不会出错.打包后会出现空页面.这次遇到的就是id忘记加了

1
2
3
4
5
6
7
8
9
10
11
12
mui.init({
preloadPages:[
{
id:preload-page-id,
url:prelaod-page-url,
styles:{},//窗口参数
extras:{},//自定义扩展参数
subpages:[{},{}]//预加载页面的子页面
}
],
preloadLimit:5//预加载窗口数量限制(一旦超出,先进先出)默认不限制
});

类点击事件这么写,一定要先选类的外层,然后在选要点击的类.

1
2
3
4
5
6
7
8
9
10
11
12
13
//html
<div class="mui-slider-item">
<a href="javascript:;">
<img src="img/start1.png" id="_d1">
<p class="jump" ></p>
</a>
</div>

//js
// .on的第二个参数为选择器 与.addEventListener()不一样 .addEventListener第二个参数为回调函数了.
mui('.mui-slider-item').on('tap','.jump',function(){
redirect();
});

子webview的监听

一定要等到webview创建好后,并且显示了.才能创建监听否则会报错的.还有一定要写在 mui.plusReady(function() {}) 里否则也会报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mui.plusReady(function() {
currentWebview = plus.webview.currentWebview();
main = plus.webview.currentWebview().opener();

//currentWebview的监听只能写在这里 写在外面就会报错
currentWebview.addEventListener('maskClick', function(){
mui.fire(main, "menu:swipeleft");
});
});

//外面只能是整个窗口的监听,不过因为webview是嵌套的,
//mask只是作用在当期webview,所以用window是不起作用的
window.addEventListener("swipeleft", closeMenu);
//子页面没有创建,监听会报错
//curSub.addEventListener('maskClick', closeMenu());

mask一些问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//遮罩子页面	按照文档说法应该子页面也遮罩为啥我这个不行呢
/*
* mask: (String 类型 )窗口的遮罩
*用于设置Webview窗口的遮罩层样式,遮罩层会覆盖Webview中所有内容,包括子webview,
* 并且截获webview的所有触屏事件,此时Webview窗口的点击操作会触发maskClick事件。
* 字符串类型,可取值: rgba格式字符串,定义纯色遮罩层样式,
* 如"rgba(0,0,0,0.5)",表示黑色半透明; "none",表示不使用遮罩层; 默认值为"none",即无遮罩层。
*/
//这是用的很笨的方法 在主页面里使用子页面遮罩
// curSub.setStyle({
// mask:'rgba(0,0,0,.3)'
// })

// 这个是当侧滑栏出现时,主页面绘制 mask,这个绘制的mask就能把apeend的子页面遮盖住
mainWebView.setStyle({
left: '70%',
mask: 'rgba(0,0,0,.3)',
transition: {
duration: 150 //动画持续时间
}
//但是这个绘制的mask不知道如何监听滑动,只能监听点击

//还有个生成mask的方法是这个
mask = mui.createMask(_closeMenu); // _closeMenu是回调函数,当点击时候如何操作
mask.show(); //显示遮罩 //这个遮罩支持滑动监听 而且默认关闭menu 但有个问题子页面不能遮罩上
mask.close(); //关闭遮罩

评论