Webview继篇

稿件来源: 互联网   撰稿作者: 匿名   发表日期: 2015-03-23   阅读次数: 466   查看权限: 游客查看

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

reload

重新加载Webview窗口显示的HTML页面

void wobj.reload( force );

说明:

触发Webview窗口重新加载当前显示的页面内容。 如果当前HTML页面未加载完则停止并重新加载,如果当前Webview窗口没有加载任何页面则无响应。

参数:

  • force (Boolean) 可选 为加速HTML页面加载速度,默认在重新加载时会使用缓存,若force设置为true则不使用缓存,重新从URL地址加载所有页面内容。

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.show();
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 重新加载Webview窗口显示的HTML页面
function reloadWebview() {
	embed.reload(true);
}
	</script>
	</head>
	<body>
		重新加载Webview窗口显示的HTML页面
		<button onclick="reloadWebview()">reload</button>
	</body>
</html>

resetBounce

重置Webview窗口的回弹位置

void wobj.resetBounce();

说明:

开启窗口回弹效果后,当窗口中展现的内容滚动到头(顶部或底部)时,再拖拽时窗口整体内容将跟随移动,松开后自动回弹到停靠位置。 这时需要调用此方法来重置窗口的回弹位置,窗口将采用动画方式回弹到其初始显示的位置。

返回值:

平台支持:

Android : 2.2+

iOS : 不支持

WP : 不支持

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	ws.setBounce({position:{top:"100px"},changeoffset:{top:"44px"}});
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 重置窗口回弹位置
function resetBounce(){
	ws.resetBounce();
}
	</script>
	</head>
	<body style="text-align:center;">
		<br/><br/><br/>
		设置Webview窗口的回弹效果<br/>
		回弹后显示停靠到44px的位置<br/><br/>
		<button onclick="resetBounce()">重置回弹位置</button>
		<br/><br/><br/>
		*暂仅支持顶部的回弹效果*
	</body>
</html>

remove

移除子Webview窗口

void wobj.remove( webview );

说明:

从当前Webview窗口移除指定的子Webview窗口,若指定的webview对象不是当前窗口的子窗口则无任何作用。 移除后子Webview窗口不会关闭,需要调用其close方法才能真正关闭并销毁。

参数:

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 移除子Webview窗口
function removeWebview() {
	ws.remove(embed);
	embed.close();
}
	</script>
	</head>
	<body>
		移除子Webview窗口
		<button onclick="removeWebview()">remove</button>
	</body>
</html>

removeEventListener

移除Webview窗口事件监听器

void wobj.removeEventListener( event, listener );

说明:

从Webview窗口移除通过addEventListener方法添加的事件监听器,若没有查找到对应的事件监听器,则无任何作用。

参数:

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.addEventListener( "loaded", embedLoaded, false );
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 页面跳转监听器
function embedLoaded(e){
	alert( "Loaded: "+embed.getURL() );
}
// 移除Webview窗口事件监听器
function removeEvent() {
	embed.removeEventListener( "loaded", embedLoaded );
}
	</script>
	</head>
	<body>
		移除Webview窗口事件监听器
		<button onclick="removeEvent()">removeEventListener</button>
	</body>
</html>

removeFromParent

从父窗口中移除

void wobj.removeFromParent();

说明:

从所属的父Webview窗口移除,如果没有父窗口,则无任何作用。 从父窗口中移除后子Webview窗口不会关闭,需要调用其close方法才能真正关闭并销毁。

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 从父窗口中移除
function removeFromeWebview() {
	embed.removeFromParent();
	embed.close();
}
	</script>
	</head>
	<body>
		从父窗口中移除
		<button onclick="removeFromeWebview()">removeFromParent</button>
	</body>
</html>

setBounce

设置Webview窗口的回弹效果

void wobj.setBounce( style );

说明:

开启窗口回弹效果后,当窗口中展现的内容滚动到头(顶部或底部)时,再拖拽时窗口整体内容将跟随移动,松开后自动回弹到停靠位置(可通过style设置)。 拖拽窗口内容时页面显示Webview窗口的背景色,默认为透明,此时显示Webview下面的内容,利用这个特点可以实现自定下拉刷新特效。

参数:

  • style (WebviewBounceStyle) 可选 可设置窗口的回弹效果支持的方向,自动回弹后停靠的位置等参数。

返回值:

平台支持:

Android : 2.2+

iOS : 不支持

WP : 不支持

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	ws.setBounce({position:{top:"100px"},changeoffset:{top:"0px"}});
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
	</script>
	</head>
	<body style="text-align:center;">
		<br/><br/><br/>
		设置Webview窗口的回弹效果<br/><br/><br/>
		*暂仅支持顶部的回弹效果*
	</body>
</html>

setBlockNetworkImage

设置Webview窗口是否阻塞加载页面中使用的网络图片

void wobj.setBlockNetworkImage( block );

说明:

设置Webview窗口是否阻塞加载页面中使用的网络图片

参数:

  • block (Boolean) 可选 true表示不加载页面中使用的网络图片,false表示加载也页面中使用的网络图片。

返回值:

平台支持:

Android : 2.2+

iOS : 不支持

WP : 不支持

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null;
// H5 plus事件处理
function plusReady(){
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
function blockOpen(){
	// 阻塞网络图片模式打开页面
	var w=plus.webview.create("http://m.csdn.net/","csdn",{blockNetworkImage:true});
	w.addEventListener("loaded",function(){
		w.show("slide-in-right",300);
		// 加载网络图片
		w.setBlockNetworkImage(false);
	},false);
}
	</script>
	</head>
	<body>
		显示窗口后再加载网络图片<br/>
		<button onclick="blockOpen()">打开页面</button>
	</body>
</html>

setContentVisible

设置HTML内容是否可见

void wobj.setContentVisible( visible );

说明:

设置HTML内容不可见后,将显示Webview窗口的背景色。

参数:

  • visible (Boolean) 可选 设置页面是否可见,true表示可见,false表示不可见

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 设置HTML内容是否可见
function setContentVisible(v) {
	embed.setContentVisible(v);
}
	</script>
	</head>
	<body>
		设置HTML内容是否可见
		<button onclick="setContentVisible(true)">可见</button>
		<button onclick="setContentVisible(false)">不可见</button>
	</body>
</html>

setPullToRefresh

设置Webview窗口的下拉刷新效果

void wobj.setPullToRefresh( style, refreshCB );

说明:

开启Webview窗口的下拉刷新功能,显示窗口内置的下拉刷新控件样式。

参数:

  • style (WebviewRefreshStyle) 可选 可设置窗口内置的下拉刷新控件在各种状态显示的文字内容。
  • refreshCB (RefreshCallback) 可选 用户操作窗口的下拉刷新触发窗口刷新事件时触发。

返回值:

平台支持:

Android : 2.2+

iOS : ALL

WP : 不支持

示例:

<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<meta name="HandheldFriendly" content="true"/>
		<meta name="MobileOptimized" content="320"/>
		<title>Webview Example</title>
		<script type="text/javascript" charset="utf-8">
var ws=null;
var list=null;
// 扩展API加载完毕,现在可以正常调用扩展API 
function plusReady(){
	ws=plus.webview.currentWebview();
	ws.setPullToRefresh({support:true,
		height:"50px",
		range:"200px",
		contentdown:{
			caption:"下拉可以刷新"
		},
		contentover:{
			caption:"释放立即刷新"
		},
		contentrefresh:{
			caption:"正在刷新..."
		}
	},onRefresh);
	plus.nativeUI.toast("下拉可以刷新");
}
// 判断扩展API是否准备,否则监听"plusready"事件
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOM构建完成获取列表元素
document.addEventListener("DOMContentLoaded",function(){
	list=document.getElementById("list");
})
// 刷新页面
function onRefresh(){
	setTimeout(function(){
		if(list){
			var item=document.createElement("li");
			item.innerHTML="<span>New Item "+(new Date())+"</span>";
			list.insertBefore(item,list.firstChild);
		}
		ws.endPullToRefresh();
	},2000);
}
		</script>
		<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
		<style type="text/css">
li {
	padding: 1em;
	border-bottom: 1px solid #eaeaea;
}
li:active {
	background: #f4f4f4;
}
		</style>
	</head>
	<body>
		<ul id="list" style="list-style:none;margin:0;padding:0;">
			<li><span>Initializ List Item 1</span></li>
			<li><span>Initializ List Item 2</span></li>
			<li><span>Initializ List Item 3</span></li>
			<li><span>Initializ List Item 4</span></li>
			<li><span>Initializ List Item 5</span></li>
			<li><span>Initializ List Item 6</span></li>
			<li><span>Initializ List Item 7</span></li>
			<li><span>Initializ List Item 8</span></li>
			<li><span>Initializ List Item 9</span></li>
			<li><span>Initializ List Item 10</span></li>
		</ul>
	</body>
</html>

setStyle

设置Webview窗口的样式

void wobj.setStyle( styles );

说明:

更新Webview窗口的样式,如窗口位置、大小、背景色等。

参数:

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 设置Webview窗口的样式
function updateStyle() {
	embed.setStyle( {top:"92px"} );
}
	</script>
	</head>
	<body>
		设置Webview窗口的样式
		<button onclick="updateStyle()">setStyle</button>
	</body>
</html>

setJsFile

设置预加载的JS文件

void wobj.setJsFile( path );

说明:

预加载JS文件不需要在HTML页面中显式引用,在Webview窗口加载HTML页面时自动加载,在页面跳转时也会自动加载。 设置新的JS文件后将清空之前设置的值。

参数:

  • file (String) 可选 预载入的JS文件地址,仅支持本地文件,格式为相对路径URL(plus.io.RelativeURL),如"_www/preload.js"

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.setJsFile( "_www/js/preload.js" );
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
	</script>
	</head>
	<body>
		设置预加载的JS文件
	</body>
</html>

show

显示Webview窗口

void wobj.show( aniShow, duration, showedCB );

说明:

当调用plus.webview.create方法创建Webview窗口后,需要调用其show方法才能显示,并可设置窗口显示动画及动画时间。 Webview窗口被隐藏后也可调用此方法来重新显示。

参数:

  • showedCB (ShowedCallback) 可选 当指定Webview窗口动画时,在动画执行完毕,窗口完全显示时触发回调。

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 创建并显示Webview窗口
function showWebview(){
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.show( "slide-in-right", 300 );
}
	</script>
	</head>
	<body>
		显示Webview窗口
		<button onclick="showWebview()">show</button>
	</body>
</html>

stop

停止加载HTML页面内容

void wobj.stop();

说明:

触发Webview窗口停止加载页面内容,如果已经加载部分内容则显示部分内容,如果加载完成则显示全部内容。

返回值:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 停止加载HTML页面内容
function stopWebview(){
	embed.stop();
}
	</script>
	</head>
	<body>
		停止加载HTML页面内容
		<button onclick="stopWebview()">stop</button>
	</body>
</html>

onclose

Webview窗口关闭事件

说明:

当Webview窗口关闭时触发此事件,类型为EventCallback。

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.onclose=embedClose;
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 页面关闭事件回调函数
function embedClose(e){
	alert( "Closed!" );
}
	</script>
	</head>
	<body>
		Webview窗口关闭事件
		<button onclick="embed.close()">onclose</button>
	</body>
</html>

onerror

Webview窗口错误事件

说明:

当Webview窗口加载错误时触发此事件,类型为EventCallback。

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.onerror=embedError;
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 页面错误事件回调函数
function embedError(e){
	alert( "Error!" );
}
	</script>
	</head>
	<body>
		Webview窗口错误事件
		<button onclick="embed.loadData('<xml>Not html</xml>')">onerror</button>
	</body>
</html>

onloaded

Webview窗口页面加载完成事件

说明:

当Webview窗口页面加载完成时触发此事件,类型为EventCallback。

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.onloaded=embedLoaded;
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 页面加载完成事件回调函数
function embedLoaded(e){
	alert( "Loaded!" );
}
	</script>
	</head>
	<body>
		Webview窗口页面加载完成事件
		<button onclick="embed.loadURL('http://m.csdn.net')">onloaded</button>
	</body>
</html>

onloading

Webview窗口页面开始加载事件

说明:

当Webview窗口开始加载新页面时触发此事件,类型为EventCallback。

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Webview Example</title>
	<script type="text/javascript">
var ws=null,embed=null;
// H5 plus事件处理
function plusReady(){
	ws=plus.webview.currentWebview();
	embed=plus.webview.create("http://weibo.com/dhnetwork","",{top:"46px",bottom:"0px"});
	embed.onloading=embedLoading;
	ws.append(embed);
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// 页面开始加载事件回调函数
function embedLoading(e){
	alert( "Loading!" );
}
	</script>
	</head>
	<body>
		Webview窗口页面开始加载事件
		<button onclick="embed.loadURL('http://m.csdn.net')">onloading</button>
	</body>
</html>

WebviewBounceStyle

Webview窗口回弹样式

属性:

  • position:JSON,可通过此参数设置开启Webview哪个方向支持回弹效果。 支持以下属性: top:表示窗口顶部支持回弹效果; left:表示窗口左侧支持回弹效果; right:表示窗口右侧支持回弹效果; bottom:表示窗口底部支持回弹效果。 **目前仅支持top属性** 属性值:用于指定可拖拽的范围,可取百分比,如"10%";像素值,如"100px";自动计算值,如"auto";无回弹效果值,如"none";
  • changeoffset:JSON,开启窗口回弹效果后,当窗口中展现的内容滚动到头(顶部或底部)时,再拖拽时窗口整体内容将跟随移动,拖拽过程中将触发"dragBounce"事件,松开后自动回弹到停靠位置。 支持以下属性: top:表示窗口顶部回弹时停靠的位置; left:表示窗口左侧回弹时停靠的位置; right:表示窗口右侧回弹时停靠的位置; bottom:表示窗口底部回弹时停靠的位置。 属性值:用于指定窗口回弹的位置,可取百分比,如"5%";像素值,如"100px";自动计算值,如"auto",默认为可拖拽的范围值的一半;

WebviewDock

原生控件在窗口中停靠的方式

常量:

平台支持:

平台支持:

平台支持:

平台支持:

  • "top"控件停靠则页面顶部
  • "bottom"控件停靠在页面底部
  • "right"控件停靠在页面右侧
  • "left"控件停靠在页面左侧

"top"

控件停靠则页面顶部

说明:

控件停靠则页面顶部

"bottom"

控件停靠在页面底部

说明:

控件停靠在页面底部

"right"

控件停靠在页面右侧

说明:

控件停靠在页面右侧

"left"

控件停靠在页面左侧

说明:

控件停靠在页面左侧

WebviewEvent

Webview窗口事件

常量:

平台支持:

平台支持:

平台支持:

平台支持:

平台支持:

平台支持:

平台支持:

平台支持:

平台支持:

"close"

Webview窗口关闭事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口关闭时触发此事件,回调函数类型为EventCallback。

"dragBounce"

Webview窗口回弹事件

说明:

通过WebviewObject对象的setBounce方法开启回弹效果后,当用户拖拽窗口时触发发此事件,回调函数类型为BounceEventCallback。

"error"

Webview窗口加载错误事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口加载错误时触发此事件,回调函数类型为EventCallback。

"hide"

Webview窗口隐藏事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口隐藏(窗口动画完成后)时触发此事件,回调函数类型为EventCallback。

"loading"

Webview窗口页面开始加载事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口开始加载新页面时触发此事件,回调函数类型为EventCallback。

"loaded"

Webview窗口页面加载完成事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口页面加载完成时触发此事件,回调函数类型为EventCallback。

"maskClick"

Webview窗口显示遮罩层时点击事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口通过mask属性设置显示遮罩层并且点击时触发此事件,回调函数类型为EventCallback。

"show"

Webview窗口显示事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口显示(窗口动画完成后)时触发此事件,回调函数类型为EventCallback。

"popGesture"

Webview窗口侧滑返回事件

说明:

通过WebviewObject对象的addEventListener方法添加事件监听函数,当Webview窗口侧滑返回时触发此事件,回调函数类型为PopGestureCallback。

平台支持:

Android : 不支持 不支持侧滑返回功能,不会触发此事件。

iOS : ALL

Webview设置侧滑返回功能才能触发此事件。

WP : 不支持 不支持侧滑返回功能,不会触发此事件。

WebviewRefreshStyle

Webview窗口下拉刷新样式

属性:

  • support:Boolean,true表示开启窗口的下拉刷新功能; false表示关闭窗口的下拉刷新功能。
  • height:String,支持百分比,如"10%";像素值,如"50px"。
  • range:String,支持百分比,如"10%";像素值,如"50px"。
  • contentdown:JSON,支持以下属性: caption:在下拉可刷新状态时下拉刷新控件上显示的标题内容。
  • contentover:JSON,支持以下属性: caption:在释放可刷新状态时下拉刷新控件上显示的标题内容。
  • contentrefresh:JSON,支持以下属性: caption:在正在刷新状态时下拉刷新控件上显示的标题内容。

WebviewPosition

原生控件在窗口中显示的位置

常量:

平台支持:

平台支持:

平台支持:

  • "static"控件在页面中正常定位,如果页面存在滚动条则随窗口内容滚动
  • "absolute"控件在页面中绝对定位,如果页面存在滚动条不随窗口内容滚动
  • "dock"控件在页面中停靠,停靠的位置通过dock属性进行定义

"static"

控件在页面中正常定位,如果页面存在滚动条则随窗口内容滚动

说明:

控件在页面中正常定位,如果页面存在滚动条则随窗口内容滚动

"absolute"

控件在页面中绝对定位,如果页面存在滚动条不随窗口内容滚动

说明:

控件在页面中绝对定位,如果页面存在滚动条不随窗口内容滚动

"dock"

控件在页面中停靠,停靠的位置通过dock属性进行定义

说明:

控件在页面中停靠,停靠的位置通过dock属性进行定义

WebviewStyle

JSON对象,原生窗口设置参数的对象

属性:

  • background:String,窗口空白区域的背景模式,设置background为颜色值(参考CSS Color Names,可取值/十六进制值/rgb值/rgba值),窗口为独占模式显示(占整个屏幕区域); 设置background为“transparent”,则表示窗口背景透明,为非独占模式。
  • blockNetworkImage:Boolean,布尔类型,true表示阻塞,false表示不阻塞,默认值为false。 阻塞后Webview窗口将不加载页面中使用的所有网络图片,可通过Webview窗口对象的setBlockNetWorkImage()方法动态修改此状态。
  • bottom:String,支持百分比、像素值,当设置了top和height值时,此属性值忽略;
  • bounce:String,可取值:none表示没有反弹效果;vertical表示垂直方向有反弹效果;horizontal表示水平方向有反弹效果;all表示垂直和水平方向都有反弹效果。
  • dock:WebviewDock,当Webview窗口添加到另外一个窗口中时,停靠方式才会生效,采用停靠方式添加会导致原Webview窗口自动调整其大小避免其内容呗子窗口盖住。 可取值:"top",控件停靠则页面顶部;"bottom",控件停靠在页面底部;"right",控件停靠在页面右侧;"left",控件停靠在页面左侧。
  • height:String,支持百分比、像素值,默认为100%。未设置height属性值时,可同时设置top和bottom属性值改变窗口的默认高度。
  • left:String,支持百分比、像素值,默认值为0px。未设置left属性值时,可设置right属性值改变窗口的默认left位置。
  • margin:String,用于定位窗口的位置,支持auto,auto表示居中。若设置了left、right、top、bottom则对应的边距值失效。
  • mask:String,用于设置Webview窗口的遮罩层样式,遮罩层会覆盖Webview中所有内容,包括子webview,并且截获webview的所有触屏事件,此时Webview窗口的点击操作会触发maskClick事件。 字符串类型,可取值: rgba格式字符串,定义纯色遮罩层样式,如"rgba(0,0,0,0.5)",表示黑色半透明; "none",表示不使用遮罩层; 默认值为"none",即无遮罩层。
  • opacity:Number,0为全透明,1为不透明,默认值为1,即不透明。
  • popGesture:String,可取值"none":无侧滑返回功能;"close":侧滑返回关闭Webview窗口;"hide":侧滑返回隐藏webview窗口。 仅iOS平台支持。
  • render:String,支持以下属性值: "onscreen" - Webview窗口在屏幕区可见时渲染,不可见时不进行渲染,此时能减少内存使用量; "always" - Webview在任何时候都渲染,在内存较大的设备上使用,被遮挡的窗口在此中模式下显示的时候会有更流畅的效果。 默认值为"onscreen"。 仅iOS平台支持。
  • right:String,支持百分比、像素值,默认无值。当设置了left和width值时,此属性值忽略;
  • scalable:Boolean,窗口设置为可缩放(scalable:true)时,用户可通过双指操作放大或缩小页面,此时html页面可通过meta节点设置“name="viewport" content="user-scalable=no"”来限制页面不可缩放。 窗口设置为不可缩放(scalable:false)时,用户不可通过双指操作放大或缩小页面,即使页面中的meta节点也无法开启可缩放功能。 默认值为false,即不可缩放。
  • scrollIndicator:String,用于控制窗口滚动条样式,可取值: "all":垂直和水平滚动条都显示; "vertical":仅显示垂直滚动条; "horizontal":仅显示水平滚动条; "none":垂直和水平滚动条都不显示。 默认值为"all",即垂直和水平滚动条都显示。 注意:显示滚动条的前提条件是窗口中的内容超过窗口显示的宽或高。
  • scrollsToTop:Boolean,true表示点击设备的状态栏可以滚动返回至顶部,false表示点击设备的状态栏不可以,默认值为true。 此功能仅iOS平台支持,在iPhone上有且只有一个Webview窗口的scrollsToTop属性值为true时才生效,所以在显示和关闭Webview窗口时需动态更新所有Webview的scrollsToTop值,已确保此功能生效。
  • top:String,支持百分比、像素值,默认值为0px。未设置top属性值时,可设置bottom属性值改变窗口的默认top位置。
  • transition:WebviewTransition,窗口定义窗口变换的动画效果,参考Transition
  • transform:WebviewTransform,窗口定义窗口变形效果,参考Transform
  • position:WebviewPosition,当Webview窗口添加到另外一个窗口中时,排版位置才会生效,排版位置决定子窗口在父窗口中的定位方式。 可取值:"static",控件在页面中正常定位,如果页面存在滚动条则随窗口内容滚动;"absolute",控件在页面中绝对定位,如果页面存在滚动条不随窗口内容滚动;"dock",控件在页面中停靠,停靠的位置由dock属性值决定。
  • width:String,支持百分比、像素值,默认为100%。未设置width属性值时,可同时设置left和right属性值改变窗口的默认宽度。
  • zindex:Number,拥有更高堆叠顺序的窗口总是会处于堆叠顺序较低的窗口的前面,拥有相同堆叠顺序的窗口后调用show方法则在前面。

WebviewTransform

一组用于定义页面或控件变形的属性

属性:

  • rotate:String,暂不支持
  • translate:String,暂不支持
  • scale:String,暂不支持
  • skew:String,暂不支持
  • matrix:String,暂不支持

WebviewTransition

一组用于定义页面或控件转换效果的属性

属性:

  • property:String,默认值为"all",暂不支持其它值。
  • duration:String,默认值为0,即无动画效果。
  • timingfunction:String,可取值"linear"、"ease-in"、"ease-out"、"ease-in-out",默认值为"linear"。

BounceEventCallback

Webview窗口回弹事件的回调函数

void onEvent( Event event ){
	// Event handled code.
}

说明:

Webview窗口回弹事件的回调函数

参数:

  • event (Event) 可选 Event对象包含以下属性: status - 表示回弹位置状态,取值包括:"beforeChangeOffset"表示可继续拖拽,此时松开拖拽窗口会回弹到其初始位置; "afterChangeOffset"表示回弹可停靠,此时松开拖拽窗口会回弹到停靠位置; "dragEndAfterChangeOffset"表示已进松开拖拽,并且窗口回弹到停靠位置。 target - 保存触发回弹此事件的Webview窗口对象。

EventCallback

Webview窗口事件的回调函数

void onEvent( Event event ){
	// Event handled code.
}

说明:

Webview窗口事件的回调函数

参数:

  • event (Event) 可选 Event对象包含以下属性: target:保存触发回弹此事件的Webview窗口对象。

PopGestureCallback

Webview窗口侧滑事件的回调函数

void onEvent( PopGestureEvent event ){
	// Event handled code.
}

说明:

Webview窗口侧滑事件的回调函数

参数:

  • event (PopGestureEvent) 可选 PopGestureEvent对象包含以下属性: target:保存侧滑操作的Webview窗口对象。 type:保存侧滑事件类型,"start"表示开始侧滑返回,用户按下滑动时触发; “end”表示结束侧滑返回,用户松手时触发; “move"表示侧滑返回动作结束,用户移动侧滑时触发。 result:保存操作结果,仅在e.type为end时有效,boolean类型, true表示侧滑返回执行,false表示侧滑返回取消;否则为undefined。 progress:保存侧滑位置,Number类型,可带小数点,范围为0-100。

HistoryQueryCallback

历史记录记录查询的回调函数

void onQuery( Event event ) {
	// Event handled code.
}

说明:

历史记录记录查询的回调函数

参数:

  • event (Event) 可选 可通过event的canBack属性获取Webview窗口是否可后退,通过event的canForward属性获取Webview窗口是否可前进。

RefreshCallback

Webview窗口刷新事件的回调函数

void onRefresh(){
	// Event handled code.
}

说明:

窗口开启下拉刷新功能后,用户操作窗口到刷新状态时触发。

ShowedCallback

Webview窗口显示完成的回调函数

void onShowed(){
	// Event handled code.
}

说明:

调用Webview窗口的show方法显示窗口完成后触发回调函数,窗口无动画时也会触发此事件。

关键词: html5puls,Webview   编辑时间: 2015-03-23 23:30:01

  • 感到高兴

    0

    高兴
  • 感到支持

    0

    支持
  • 感到搞笑

    0

    搞笑
  • 感到不解

    0

    不解
  • 感到谎言

    0

    谎言
  • 感到枪稿

    0

    枪稿
  • 感到震惊

    0

    震惊
  • 感到无奈

    0

    无奈
  • 感到无聊

    0

    无聊
  • 感到反对

    0

    反对
  • 感到愤怒

    0

    愤怒
0%(0)
0%(0)
上一篇:Webview
下一篇:XMLHttpRequest
共有0 条评论 发言请遵守【相关规定

网友评论

会员头像
发 表同步腾讯微博    验证码:  点击更新请先登陆
  • 暂无评论
关闭模块文章图片 article Pictrue
  • 我的妈妈爸爸
  • 基于koa2+mysql+vue2.0+Element阳光内容管理系统
  • 代码覆盖率工具 Istanbul 入门教程
  • 全栈工程师的武器——MEAN
  • 9款超炫的 CSS3 复选框(Checkbox)
  • 微信开发在线翻译功能
  • CSS3那些不为人知的高级属性
  • 给easyui的datebox添加清空事件
  • flash写字效果
  • kendoUI系列教程之DropDownList下拉菜单
  • kendoUI系列教程之datetimepicker日期时间选择
  • kendoUI系列教程之datepicker日期选择
  • kendoUI系列教程之combobox下拉列表框
  • kendoUI系列教程之colorpicker
  • kendoUI系列教程之calendar日历表
  • kendoUI系列教程之autocomplete自动补齐