最近总是碰到针对页面的一些操作,以下是针对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
版权声明:本文为博主原创文章,转载请附上博文链接!

HTML5+和MUI页面操作的更多相关文章

  1. 使用HTML5的JS选择器操作页面中的元素

    文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...

  2. 使用HTML5的JavaScript选择器操作页面中的元素

    <!doctype html><html lang="en"> <head>     <meta charset="UTF-8& ...

  3. 【Egret】实现web页面操作PC端本地文件操作

    Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...

  4. HTML5+CSS3静态页面项目-PayPaul的总结

    学习前端有一段时间了,一直在看书上的理论知识,而实战项目却很少.师兄常说,想要知道自己的实力有多少,知识掌握了多少,最好的方法就是去实践了,实践出真知嘛.于是决定在这个假期里,主要是通过项目的实践以及 ...

  5. HTML5+CSS3静态页面项目-BusinessTheme的总结

    因为期末考试.调整心态等等的种种原因,距离上一次的项目练习已经过了很久了,今天终于有时间继续练习HTML5+CSS3的页面架构和设计稿还原.设计图很长,整个页面分为了好几个区域,所以就不放完整的设计图 ...

  6. 基于html5 plus + Mui 移动App开发(一)

    使用Html5 plus + Mui 进行移动App开发,有一段时间了,这几日得空,做个资讯App分享给大家. 今天主要分享主页实现,首先看下效果: 此界面主要分为:标题.内容分类列表.搜索及设置按钮 ...

  7. mui 页面传值

    点击第一个页面的标签,跳转到第二个页面,把第一个页面的值也传往目标页面 现在提供两种实现方式 注意:需要在手机运行才可以,用电脑浏览器可能不支持. 第一种方式  页面已创建,通过自定义事件传值 fir ...

  8. mui webview操作

    HBuilder的webview操作 webviewAPI文档:http://www.html5plus.org/doc/zh_cn/webview.html 创建新的webview窗口: Webvi ...

  9. 父页面操作iframe子页面的安全漏洞及跨域限制问题

    一.父子交互的跨域限制 同域情况下,父页面和子页面可以通过iframe.contentDocument或者parent.document来交互(彼此做DOM操作等,如父页面往子页面注入css). 跨域 ...

随机推荐

  1. JS中BOM和DOM常用的事件

    总结:window对象 ● window.innerHeight - 浏览器窗口的内部高度 ● window.innerWidth - 浏览器窗口的内部宽度 ● window.open() - 打开新 ...

  2. chrome滚动条颜色尺寸设置

    <style> /*chrome滚动条颜色设置*/ *::-webkit-scrollbar { width: 5px; height: 10px; background-color: t ...

  3. Nginx 操作响应头信息的实现

    前置条件:需要编译 ngx_http_headers_module 模块,才支持 header 头信息操作 add_header 意思为将自定义的头信息的添加到响应头,指令为 add_header n ...

  4. sql强大的行转列功能(内置函数pivot及注意事项)

    语法: PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) ) ...

  5. Flume 初探

    Apache 是一个高可用.高可靠的,分布式的海量日志采集.聚合.传输系统,基于流式架构,灵活简单. Flume 最主要的作用就是实时读取服务器本地磁盘的数据,将数据写入HDFS中. Flume组成架 ...

  6. p7.BTC-挖矿总结

    全节点: 1 一直在线 2 在本地硬盘上维护完全的区块链信息 3 在内存里维护UTXO集合,以便快速检验交易的正确性 4 监听比特币网络上的交易信息,验证每个交易的合法性 5 决定哪些交易会被打包到区 ...

  7. S3cmd

    一:安装方法 #wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz #tar -zxf ...

  8. C#屏蔽Alt+F4组合键

    在开发的软件不希望用户关闭的情况下,或者我们不想用户回到桌面,这时候我们就需要屏蔽windows键,或者Alt + F4 键等. //1.将窗体的属性KeyPrieview设置为true //keyp ...

  9. 《你说对就队》第九次团队作业:【Beta】Scrum meeting 1

    <你说对就队>第九次团队作业:[Beta]Scrum meeting 1 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 < ...

  10. mac pro下安装brew软件包管理工具

    Homebrew简称brew,OSX上的软件包管理工具,在Mac终端可以通过brew安装.更新.卸载软件. 1.打开终端直接输入下面指令回车: ruby -e "$(curl -fsSL h ...