HTML5+ - webview应用窗口详解(一)

时间:2019-08-08 发布者: 访问量:3519

Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作。通过plus.webview可获取应用界面管理对象。



plus.webview.all();获取所有Webview窗口
返回值:

Array[ WebviewObject ] : 应用中创建的所有Webview窗口对象数组。

 


var wvs=plus.webview.all();
for(var i=0;i<wvs.length;i++){
    console.log("webview"+i+": "+wvs[i].getURL());
}

关闭Webview窗口
void plus.webview.close( id_wvobj, aniClose, duration, extras );

关闭已经打开的Webview窗口,需先获取窗口对象或窗口id,并可指定关闭窗口的动画及动画持续时间。

参数:


id_wvobj: ( String | WebviewObject ) 必选 要关闭Webview窗口id或窗口对象
若操作窗口对象已经关闭,则无任何效果。 使用窗口id时,则查找对应id的窗口,如果有多个相同id的窗口则操作最先打开的窗口,若没有查找到对应id的WebviewObject对象,则无任何效果。
aniClose: ( AnimationTypeClose ) 可选 关闭Webview窗口的动画效果
如果没有指定关闭窗口动画,则使用默认值“auto”,即使用显示时设置的窗口动画相对应的关闭动画。
duration: ( Number ) 可选 关闭Webview窗口动画的持续时间
单位为ms,如果没有设置则使用显示窗口动画时间。
extras: ( WebviewExtraOptions ) 可选 关闭Webview窗口扩展参数
可用于指定Webview窗口动画是否使用图片加速。


演示代码
var ws=plus.webview.currentWebview();
plus.webview.close(ws);

create创建新的Webview窗口

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

说明:

创建Webview窗口,用于加载新的HTML页面,可通过styles设置Webview窗口的样式,创建完成后需要调用show方法才能将Webview窗口显示出来。

参数:

url: ( String ) 可选 新窗口加载的HTML页面地址

新打开Webview窗口要加载的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”

返回值:WebviewObject : Webview窗口对象

w = plus.webview.create('new.html','new.html');
w.show();


currentWebview 获取当前窗口的WebviewObject对象

WebviewObject plus.webview.currentWebview();

说明:获取当前页面所属的Webview窗口对象。

getWebviewById查找指定标识的WebviewObject窗口

在已创建的窗口列表中查找指定标识的Webview窗口并返回。 若没有查找到指定标识的窗口则返回null,若存在多个相同标识的Webview窗口,则返回第一个创建的Webview窗口。 如果要获取应用入口页面所属的Webview窗口,其标识为应用的%APPID%,可通过plus.runtime.appid获取。

参数:id: ( String ) 必选 要查找的Webview窗口标识

返回值:

WebviewObject : WebviewObject窗口对象

s = plus.webview.getWebviewById('new.html');
 console.log(s);


open创建并打开Webview窗口

WebviewObject plus.webview.open( url, id, styles, aniShow, duration, showedCB );

参数:

url: ( String ) 可选 打开窗口加载的HTML页面地址

新打开Webview窗口要加载的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"动画效果)时也会触发此回调。

返回值:WebviewObject : WebviewObject窗口对象

plus.webview.open('new.html','new.html');


plus.webview.getLaunchWebview() 获取应用首页WebviewObject窗口对象

返回值 WebviewObject : WebviewObject窗口对象

w = plus.webview.getLaunchWebview();
 w.show();


AnimationTypeShow 窗口打开动画效果

"auto": (String 类型 )自动选择动画效果,使用上次显示窗口设置的动画效果,如果是第一次显示则默认动画效果“none”。

"none": (String 类型 )无动画效果,对应关闭动画"none"。

"slide-in-right": (String 类型 )从右侧横向滑动效果,"slide-out-right"。

"slide-in-left": (String 类型 )从左侧横向滑动效果,"slide-out-left"。

"slide-in-top": (String 类型 )从上侧竖向滑动效果,对应关闭动画"slide-out-top"。

"slide-in-bottom": (String 类型 )从下侧竖向滑动效果,对应关闭动画"slide-out-bottom"。

"fade-in": (String 类型 )从透明到不透明逐渐显示效果,对应关闭动画"fade-out"。

"zoom-out": (String 类型 )从小到大逐渐放大显示效果,对应关闭动画"zoom-in"。

"zoom-fade-out": (String 类型 )从小到大逐渐放大并且从透明到不透明逐渐显示效果,对应关闭动画"zoom-fade-in"。

"pop-in": (String 类型 )从右侧平移入栈动画效果,对应关闭动画"pop-out"。

plus.webview.open('new.html','new.html',{},'slide-in-bottom');


AnimationTypeClose
一组用于定义页面或控件关闭的动画效果,原理等同于 AnimationTypeShow


发布于
  用户评论
    生活编程