最近总是碰到针对页面的一些操作,以下是针对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)

id_wvobj: ( String | WebviewObject) 必选 要关闭Webview窗口id或窗口对象

若操作窗口对象已经关闭,则无任何效果。 使用窗口id时,则查找对应id的窗口,如果有多个相同id的窗口则操作最先打开的窗口,若没有查找到对应id的WebviewObject对象,则无任何效果。

aniClose/aniHide: ( AnimationTypeClose ) 可选 关闭/隐藏Webview窗口的动画效果

如果没有指定关闭/隐藏窗口动画,则使用默认值“auto”,即使用显示时设置的窗口动画相对应的关闭/隐藏动画。

duration: ( Number ) 可选 关闭Webview窗口动画的持续时间

单位为ms,如果没有设置则使用显示窗口动画时间。

extras: ( WebviewExtraOptions) 可选 关闭Webview窗口扩展参数 可用于指定Webview窗口动画是否使用图片加速。

plus.webview.create( url, id, styles, extras )

url: ( String ) 可选 新窗口加载的HTML页面地址,可支持本地地址和网络地址。
    id: ( String ) 可选 新窗口的标识

窗口标识可用于在其它页面中通过getWebviewById来查找指定的窗口,为了保持窗口标识的唯一性,应该避免使用相同的标识来创建多个Webview窗口。 如果传入无效的字符串则使用url参数作为WebviewObject窗口的id值。

styles: ( WebviewStyles) 可选 创建Webview窗口的样式(如窗口宽、高、位置等信息)
    extras: ( JSON ) 可选 创建Webview窗口的额外扩展参数

值为JSON类型,设置扩展参数后可以直接通过Webview的点(“.”)操作符获取扩展参数属性值,如:
var w=plus.webview.create('url.html','id',{},{preload:"preload webview"});
// 可直接通过以下方法获取preload值
console.log(w.preload); // 输出值为“preload webview”
plus.webview.currentWebview(); --经常用到,很重要!!!
plus.webview.getWebviewById(string); --经常用到,很重要!!!
如果id为空,则返回值为空
plus.webview.getLaunchWebview();
应用首页WebviewObject窗口对象
plus.webview.getTopWebview();
获取应用显示栈顶的WebviewObject窗口对象
plus.webview.open(url, id, styles, aniShow, duration, showedCB )

url: ( String ) 可选 打开窗口加载的HTML页面地址,可支持本地地址和网络地址。
    id: ( String ) 可选 打开窗口的标识

窗口标识可用于在其它页面中通过getWebviewById来查找指定的窗口,为了保持窗口标识的唯一性,应该避免使用相同的标识来创建多个Webview窗口。 如果传入无效的字符串则使用url参数作为WebviewObject窗口的id值。

styles: ( WebviewStyles) 可选 创建Webview窗口的样式(如窗口宽、高、位置等信息)
    aniShow: ( AnimationTypeShow ) 可选 显示Webview窗口的动画效果

如果没有指定窗口动画,则使用默认无动画效果“none”。

duration: ( Number ) 可选 显示Webview窗口动画的持续时间

单位为ms,如果没有设置则使用默认窗口动画时间600ms。

showedCB: ( SuccessCallback ) 可选 Webview窗口显示完成的回调函数

当指定Webview窗口显示动画执行完毕时触发回调函数,窗口无动画效果(如"none"动画效果)时也会触发此回调。

plus.webview.show( id_wvobj, aniShow, duration, showedCB, extras );

id_wvobj: ( String | WebviewObject ) 必选 要显示Webview窗口id或窗口对象

若操作Webview窗口对象显示,则无任何效果。 使用窗口id时,则查找对应id的窗口,如果有多个相同id的窗口则操作最先创建的窗口,若没有查找到对应id的WebviewObject对象,则无任何效果。

aniShow: ( AnimationTypeShow ) 可选 显示Webview窗口的动画效果

如果没有指定窗口动画类型,则使用默认值“auto”,即自动选择上一次显示窗口的动画效果,如果之前没有显示过,则使用“none”动画效果。

duration: ( Number ) 可选 显示Webview窗口动画的持续时间

单位为ms,如果没有设置则使用默认窗口动画时间600ms。

showedCB: ( SuccessCallback ) 可选 Webview窗口显示完成的回调函数

当指定Webview窗口显示动画执行完毕时触发回调函数,窗口无动画效果(如"none"动画效果)时也会触发此回调。

extras: ( WebviewExtraOptions ) 可选 显示Webview窗口扩展参数

可用于指定Webview窗口动画是否使用图片加速。
Boolean plus.webview.defaultHardwareAccelerated();
Webview窗口默认开启硬件加速则返回true,否则返回false。

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方法
---------------------
作者:育秦
来源:CSDN
原文:https://blog.csdn.net/xuepan1994/article/details/51891923
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. ASP.NET Core Kestrel 中使用 HTTPS (SSL)
  2. 1.mysql基础之 php 连接
  3. 【poj1738】 An old Stone Game
  4. Linux之硬件管理(不断更新中)
  5. ftp 530 This FTP serveris anonymous only,
  6. 【云计算】开源的Docker Registry WebUI
  7. 在Eclipse中使用Maven插件 博客分类: Java相关技术
  8. Entity Framework Code First 映射继承关系
  9. HTML的Get方法URL传递中文参数,解决乱码问题
  10. Ubuntu学习-简单指令
  11. [Android学习笔记]SeekBar的使用
  12. hdu2844(多重背包)
  13. UVA4731:Cellular Network
  14. python3 基础语法(二)
  15. Webpack学习-Plugin
  16. 【C++】C++中变量的声明与定义的区别
  17. Jetson tk1 安装 Intel 7260 无线网卡驱动
  18. WAP、触屏版网站及APP的区别
  19. tensorflow tensor 索引
  20. PHP后台登录 接口

热门文章

  1. iOS加密之AES
  2. 【JUC】8.CopyOnWriteArrayList源码分析
  3. c# CryptoStream 类
  4. python之变量的数据类型(2)list 、 tuple 及range用法
  5. vue中8种组件通信方式, 值得收藏!
  6. javascript中的var,let,const关键字
  7. Luogu P1196 银河英雄传说
  8. windows系统开机执行文件
  9. Python练习题---判断回文数
  10. c# DES 加密解密方法