hbuilder html5 api,HTML5+ API Reference

Events模块管理客户端事件,包括系统事件,如扩展API加载完毕、程序前后台切换等。

常量:

"plusready": 扩展API加载完成事件

"pause": 运行环境从前台切换到后台事件

"resume": 运行环境从后台切换到前台事件

"netchange": 设备网络状态变化事件

"error": 页面加载错误事件

方法:

回调方法:

权限:

permissions

"Events": {

"description": "访问应用状态变化事件"

}

扩展API加载完成事件

document.addEventListener( "plusready", plusreadyCallback, capture );

说明:

String

类型

为了保证扩展API的有效调用,所有应用页面都会用到的重要事件。

应用页面显示时需要首先加载扩展和API代码库,当扩展API代码库加载完成时会触发pluseready事件,当设备触发该事件后,用户就可以安全的调用扩展API。

如果程序中打开多个页面,每个都会收到此事件。

示例:

Events Example

// 扩展API加载完毕后调用onPlusReady回调函数

document.addEventListener( "plusready", onPlusReady, false );

function onPlusReady() {

// 扩展API加载完毕,现在可以正常调用扩展API

// ......

}

运行环境从前台切换到后台事件

document.addEventListener( "pause", pauseCallback, capture );

说明:

String

类型

当程序从前台切换到后台时会触发此事件。

若应用需要处理从前台切换到后台的事件行为,可通过注册事件监听器来监听“pause”事件,此事件需要在plusready事件后通过document进行注册。

示例:

Events Example

// 扩展API加载完毕后调用onPlusReady回调函数

document.addEventListener( "plusready", onPlusReady, false );

function onPlusReady() {

document.addEventListener( "pause", onAppPause, false );

}

function onAppPause() {

console.log( "Application paused!" );

}

运行环境从后台切换到前台事件

document.addEventListener( "resume", resumeCallback, capture );

说明:

String

类型

当程序从后台切换到前台时会触发此事件。

若应用需要处理从后台切换到前台的事件行为,可通过注册事件监听器来监听“resume”事件,此事件需要在plusready事件后通过document进行注册。

示例:

Events Example

// 扩展API加载完毕后调用onPlusReady回调函数

document.addEventListener( "plusready", onPlusReady, false );

function onPlusReady() {

document.addEventListener( "resume", onAppReume, false );

}

function onAppReume() {

alert( "Application resumed!" );

}

设备网络状态变化事件

document.addEventListener( "netchange", netchangeCallback, capture );

说明:

String

类型

设备网络状态发生时会触发此事件。

若应用需要处理网络状态变化的事件行为,可通过注册事件监听器来监听“netchange”事件,此事件需要在plusready事件后通过document进行注册。

示例:

Events Example

// 扩展API加载完毕后调用onPlusReady回调函数

document.addEventListener( "plusready", onPlusReady, false );

function onPlusReady() {

document.addEventListener( "netchange", onNetChange, false );

}

function onNetChange() {

var nt = plus.networkinfo.getCurrentType();

switch ( nt ) {

case plus.networkinfo.CONNECTION_ETHERNET:

case plus.networkinfo.CONNECTION_WIFI:

alert("Switch to Wifi networks!");

break;

case plus.networkinfo.CONNECTION_CELL2G:

case plus.networkinfo.CONNECTION_CELL3G:

case plus.networkinfo.CONNECTION_CELL4G:

alert("Switch to Cellular networks!");

break;

default:

alert("Not networks!");

break;

}

}

新意图事件

document.addEventListener( "newintent", newintentCallback, capture );

说明:

String

类型

程序从后台被第三方程序调用并传入新意图事件。

此时程序将切换到前台运行,若应用需要处理新意图的事件行为,可通过注册事件监听器来监听“newintent”事件,此事件需要在plusready事件后通过document进行注册。

示例:

Events Example

// 扩展API加载完毕后调用onPlusReady回调函数

document.addEventListener( "plusready", onPlusReady, false );

function onPlusReady() {

document.addEventListener( "newintent", onNetIntent, false );

}

function onNetIntent() {

// 获取新意图传入的参数

var args = plus.runtime.arguments;

// 处理意图事件

}

窗口滚动到底部事件

document.addEventListener( "plusscrollbottom", eventCallback, capture );

说明:

String

类型

当滚动Webview窗口到底部时触发此事件。

示例:

Events Example

// 扩展API加载完毕后调用onPlusReady回调函数

document.addEventListener( "plusready", onPlusReady, false );

function onPlusReady() {

document.addEventListener( "plusscrollbottom", onScrollToBottom, false );

}

function onScrollToBottom() {

// 处理滚动到窗口底部事件

}

页面加载错误事件

document.addEventListener( "error", eventCallback, capture );

说明:

String

类型

当Webview窗口加载页面失败后打开错误页面时触发此事件。

注意:此事件仅在错误页面中才触发。

示例:

Error

// H5 plus事件处理

var ws=null;

function plusReady(){

// Android处理返回键

plus.key.addEventListener('backbutton',function(){

(history.length==1)&&ws.close();

var c=setTimeout(function(){

ws.close();

},1000);

window.οnbefοreunlοad=function(){

clearTimeout(c);

}

history.go(-2);

},false);

ws=plus.webview.currentWebview();

}

if(window.plus){

plusReady();

}else{

document.addEventListener('plusready',plusReady,false);

}

document.addEventListener('touchstart',function(){

return false;

},true);

// 禁止选择

document.οncοntextmenu=function(){

return false;

};

// 获取错误信息

document.addEventListener("error",function(e){

info.innerText="请求的页面("+e.href+")无法打开";

},false);

*{

-webkit-user-select: none;

}

html,body{

margin: 0px;

padding: 0px;

width: 100%;

height: 100%;

text-align: center;

-webkit-touch-callout:none;

-webkit-tap-highlight-color:rgba(0,0,0,0);

}

.button{

width: 50%;

font-size: 18px;

font-weight: normal;

text-decoration: none;

text-align: center;

padding: .5em 0em;

margin: .5em auto;

color: #333333;

background-color: #EEEEEE;

border: 1px solid #CCCCCC;

-webkit-border-radius: 5px;

border-radius: 5px;

}

.button:active{

background-color: #CCCCCC;

}

We're sorry ...

Back
Close

添加事件监听函数

void document.addEventListener( event, callback, capture );

说明:

通过Html中标准document对象的addEventListener方法添加扩展事件监听器,当指定事件发生时,将触发对应额监听回调函数。

参数:

event:

(

DOMString

)

必选要添加监听的事件类型,可取上面列出的所有事件常量

callback:

capture:

(

Boolean

)

可选事件流捕获顺序,可忽略

返回值:

void

: 无

事件触发回调函数

void onTrig() {

// Event trig code

}

说明:

指定事件触发时的回调函数,在指定的事件已经发生时调用。

参数:

返回值:

void

: 无

页面加载错误事件回调函数

void onErrorTrig( Event event ) {

// Event trig code

var url = event.url; // 加载错误的页面路径,API中传入的url值

var href = event.href; // 加载错误的页面完整路径,通常以“file://”开头的路径

}

说明:

当Webview窗口加载页面失败后打开错误页面时触发此事件。

参数:

event:

(

Event

)

可选加载页面失败信息

可通过event.url(String类型)获取加载页面的url值,如“./test/html”;

可通过event.href(String类型)加载错误的页面完整路径,包括完整的协议头,如Android平台“file:///storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/www/test.html”,iOS平台“file:///var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/www/test.html”。

返回值:

void

: 无

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值