HTML5+和MUI页面操作
最近总是碰到针对页面的一些操作,以下是针对webview的一些简单方法以及个人理解。
更多详尽的内容请参考标准文档:http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.getLaunchWebview
Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作。通过plus.webview可获取应用界面管理对象。
方法
all:获取所有webview页面
close:关闭Webview窗口
creat:创建新的Webview窗口
currentWebview: 获取当前窗口的WebviewObject对象
getWebviewById: 查找指定标识的WebviewObject窗口
getLaunchWebview: 获取应用首页WebviewObject窗口对象
getTopWebview: 获取应用显示栈顶的WebviewObject窗口对象
hide: 隐藏Webview窗口
open: 创建并打开Webview窗口
show: 显示Webview窗口
defaultHardwareAccelerated: 获取Webview默认是否开启硬件加速
用法
plus.webview.all()
获取所有webview页面并放到一个数组里面,且数组的第一个元素就是加载应用的入口页。
plus.webview.close(id_wvobj, aniClose, duration, extras)
plus.webview.hide(id_wvobj, aniHide, duration, extras)
plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );
1.利用create()方法创建需要用show()方法显示出来。 2.open()方法类似于同时执行create()和show()。 3.close、hide、open、show 我每次使用这几类方法是 先获取页面:var detailPage=plus.webview.getWebviewById("main"); 然后对页面进行操作:detailPage.close(); 如果是隐藏当前页面,直接plus.webview.currentWebview().hide(); 4.因为用到了mui,所以结合mui页面操作描述一下 mui里与webview相关的部分,只是对plus.webview的常用操作做了一些封装,让常用的操作调用更简单。更多更全面的api,都在plus.webview里。 mui详细页面操作参考:http://dev.dcloud.net.cn/mui/window/#pageinit mui.init(); // 页面初始化 mui.init({ preloadPages:[ //在初始化中预加载页面 { url:prelaod-page-url, id:preload-page-id, styles:{},//窗口参数 extras:{},//自定义扩展参数 subpages:[{},{}]//预加载页面的子页面 } ], }) mui.preload(); //预加载页面 mui.init({ subpages:[{//创建子页面 url:"list.html", id:"list.html", styles:{ top:"45px",//mui标题栏默认高度为45px; bottom:"0px"//默认为0px,可不定义; } }] }); mui.openWindow();//打开新页面 每次都用mui.openWindow而不close页面会造成内存消耗过大。这是因为使用mui.openWindow跳转页面会用到plus.webview.show方法,如果不close页面会新开很多重复的webview,这样就造成多个页面同时在消耗内存。 另外不close所有不用的webview,webview被close后还会露出其他没有被close的webview。 关闭页面封装到mui.back()方法中,如果需要关闭可以参考close方法
- id_wvobj: ( String | WebviewObject) 必选 要关闭Webview窗口id或窗口对象
- aniClose/aniHide: ( AnimationTypeClose ) 可选 关闭/隐藏Webview窗口的动画效果
- duration: ( Number ) 可选 关闭Webview窗口动画的持续时间
- extras: ( WebviewExtraOptions) 可选 关闭Webview窗口扩展参数 可用于指定Webview窗口动画是否使用图片加速。
- url: ( String ) 可选 新窗口加载的HTML页面地址,可支持本地地址和网络地址。
- id: ( String ) 可选 新窗口的标识
- styles: ( WebviewStyles) 可选 创建Webview窗口的样式(如窗口宽、高、位置等信息)
- extras: ( JSON ) 可选 创建Webview窗口的额外扩展参数
- url: ( String ) 可选 打开窗口加载的HTML页面地址,可支持本地地址和网络地址。
- id: ( String ) 可选 打开窗口的标识
- styles: ( WebviewStyles) 可选 创建Webview窗口的样式(如窗口宽、高、位置等信息)
- aniShow: ( AnimationTypeShow ) 可选 显示Webview窗口的动画效果
- duration: ( Number ) 可选 显示Webview窗口动画的持续时间
- showedCB: ( SuccessCallback ) 可选 Webview窗口显示完成的回调函数
plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );
- id_wvobj: ( String | WebviewObject ) 必选 要显示Webview窗口id或窗口对象
- aniShow: ( AnimationTypeShow ) 可选 显示Webview窗口的动画效果
- duration: ( Number ) 可选 显示Webview窗口动画的持续时间
- showedCB: ( SuccessCallback ) 可选 Webview窗口显示完成的回调函数
- extras: ( WebviewExtraOptions ) 可选 显示Webview窗口扩展参数
1.利用create()方法创建需要用show()方法显示出来。 2.open()方法类似于同时执行create()和show()。 3.close、hide、open、show 我每次使用这几类方法是 先获取页面:var detailPage=plus.webview.getWebviewById("main"); 然后对页面进行操作:detailPage.close(); 如果是隐藏当前页面,直接plus.webview.currentWebview().hide(); 4.因为用到了mui,所以结合mui页面操作描述一下 mui里与webview相关的部分,只是对plus.webview的常用操作做了一些封装,让常用的操作调用更简单。更多更全面的api,都在plus.webview里。 mui详细页面操作参考:http://dev.dcloud.net.cn/mui/window/#pageinit mui.init(); // 页面初始化 mui.init({ preloadPages:[ //在初始化中预加载页面 { url:prelaod-page-url, id:preload-page-id, styles:{},//窗口参数 extras:{},//自定义扩展参数 subpages:[{},{}]//预加载页面的子页面 } ], }) mui.preload(); //预加载页面 mui.init({ subpages:[{//创建子页面 url:"list.html", id:"list.html", styles:{ top:"45px",//mui标题栏默认高度为45px; bottom:"0px"//默认为0px,可不定义; } }] }); mui.openWindow();//打开新页面 每次都用mui.openWindow而不close页面会造成内存消耗过大。这是因为使用mui.openWindow跳转页面会用到plus.webview.show方法,如果不close页面会新开很多重复的webview,这样就造成多个页面同时在消耗内存。 另外不close所有不用的webview,webview被close后还会露出其他没有被close的webview。 关闭页面封装到mui.back()方法中,如果需要关闭可以参考close方法
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: MUI移动端页面跳转
- 下一篇: mui.openWindow 打不开新页面