系统事件管理(Events) ---- HTML5+
模块:events
Events模块管理客户端事件,包括系统事件,如扩展API加载完毕、程序前后台切换等。
比如说:网络的链接的和断开这种事件,系统从前台走到后台这种事件;
不包括:点击和滑动页面事件;
应用场景:
等待事件完成:例如 plusready();
应用从前台传入后台时停止一些占用资源的服务:和服务器做交互的时候;
应用从后台转到前台时开启一些服务;
断网时提示用户:网络不给力,断网了;可以通过device 获取网络的状态;
加载错误时提示用户;
document.addEventListener(event,callback,capture);
这个时没有对象,就一个核心方法:document.addEventListener(event,callback,capture);
event:字符串类型:plusready , pause 暂停 , newintent 意图;
pause:当用户跳转到其他应用,或者点击了home键了都触发这个事件;
error:error事件:当webview加载某一个页面失败的时候,会触发这个事件,会在错误页面去执行这个(也就是这个是在错误页面执行这个的,所以必须要指定一个错误页面);
错误页面有两种方式:第一种是Dcloud自己定的,在打包的时候会加上这个页面;第二种是打开窗口指定一个错误页面;
callback:事件发生之后我要做什么;
capture:可以忽略;
常用event:
"plusready": 扩展API加载完成事件
"pause": 运行环境从前台切换到后台事件
"resume": 运行环境从后台切换到前台事件
"netchange": 设备网络状态变化事件
"newintent": 新意图事件
"plusscrollbottom": 窗口滚动到底部事件
"error": 页面加载错误事件
"background": 应用切换到后台运行事件
"foreground": 应用切换到前台运行事件
"trimmemory": 应用需要清理内存事件
"splashclosed": 应用启动界面已关闭事件
示例:点击返回键,会弹出“再按一次退出应用”:
<script type="text/javascript">
mui.plusReady(function(){
document.addEventListener('pause',function(){
console.log('pause');
});
});
</script>
具体示例:
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">系统事件管理</h1>
</header>
<div class="mui-content mui-content-padded">
<button type="button" id="btnErr" class="mui-btn mui-btn-blue mui-btn-block">错误页面</button>
</div>
<script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
<script src="js/mui.min.js"></script>
<script type="text/javascript">
mui.plusReady(function(){
document.addEventListener('pause',function(){
console.log('pause');
});
document.addEventListener('resume',function(){
console.log('resume');
});
document.addEventListener('netchange',function(){
console.log(plus.networkinfo.getCurrentType());
});
// error事件 :error事件
$("#btnErr").bind('tap',function(){
mui.alert('aaa');
mui.openWindow({
url:'http://www.1234567.com',
style:{
errorPage:'error.html'
}
});
});
});
</script>
系统事件管理(Events) ---- HTML5+的更多相关文章
- WINCE之“系统事件”——System/Events
1. 简介 Event--事件,相信有线程概念的编程人员都知道,它可以用来同步不同进程.不同线程的通信.在Windows CE 5.0系统中,有一种我称之为"系统事件"的Event ...
- HTML5: HTML5 服务器发送事件(Server-Sent Events)
ylbtech-HTML5: HTML5 服务器发送事件(Server-Sent Events) 1.返回顶部 1. HTML5 服务器发送事件(Server-Sent Events) HTML5 服 ...
- Backbone事件管理——Backbone.Events模块API结构
模块Backbone.Events的事件管理是通过Backbone提供的Events API来实现的,该API在1.0版本之前仅仅提供了几个基本的方法,如on.off.trigger.once分别执行 ...
- HTML5支持服务器发送事件(Server-Sent Events)-单向消息传递数据推送(C#示例)
传统的WEB应用程序通信时的简单时序图: 现在Web App中,大都有Ajax,是这样子: HTML5有一个Server-Sent Events(SSE)功能,允许服务端推送数据到客户端.(通常叫数据 ...
- Redis事件管理(二)
Redis的定时器是自己实现的,不是很复杂.说说具体的实现吧. 定时器的存储维护采用的是普通的单向链表结构,具体节点定义为: /*时间定时器结构体*/ typedef struct aeTimeEve ...
- Redis事件管理(一)
Redis统一的时间管理器,同时管理文件事件和定时器, 这个管理器的定义: #if defined(__APPLE__) #define HAVE_TASKINFO 1 #endif /* Test ...
- Redis事件管理(三)
Redis的事件管理和定时器的管理都是自己来实现的,Redis的事件管理分为两部分,一部分是封装了系统的异步事件API,还有一部分是在这基础上封装了一个通用的事件管理器,根据具体的系统来决定具体使用哪 ...
- android小工具-系统音量管理器
简介:调节系统音量的小工具,能够快捷的调节系统铃声,媒体音乐.闹钟和通话声音.你可能会想,手机自带的音量键还不够快捷吗?还得写个程序?首先,用音量键调音只能调节一种声音,像闹钟这种声音不能直接调.其次 ...
- Nginx事件管理之概念描述
1. Nginx事件管理概述 首先,Nginx定义了一个核心模块ngx_events_module,这样在Nginx启动时会调用ngx_init_cycle方法解析配置项,一旦在 nginx.conf ...
随机推荐
- volatile关键字的介绍和使用
关键字volatile的主要作用是使变量在过个线程中可见 1.假设volatile不存在我们将会面对的问题 public class PrintString implements Runnable { ...
- 浅谈 JavaScript 编程语言的编码规范
对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编 ...
- ZooKeeper源码分析:Quorum请求的整个流程(转)
Quorum请求是转发给Leader处理,并且需要得一个Follower Quorum确认的请求.这些请求包括: 1)znode的写操作(OpCode.create,OpCode.delete,OpC ...
- selenium测试(Java)--操作cookie(十七)
package com.test.cookies; import org.openqa.selenium.Cookie; import org.openqa.selenium.JavascriptEx ...
- imx6 qt 24bpp RGB
imx6运行qt,在24bit的LVDS接口屏上显示时,显示效果与实际的不同.蓝色变成了黄色. 本来应该显示成蓝色: 实际上去显示成了黄色: 而其他绿色的图标并没有改变,只是蓝色和黄色互换了. 猜想应 ...
- JavaScript 杂乱的小总结
基本类型只有String.number.boolean.null.undefined,还有一个Object.存在装箱类型,不过后台自动转换. 通过new创建对象时,如果没有参数,可以省略“()”.-- ...
- C#多播委托/多播代理
定义:委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针.理解委托的一种方式可以把委托的作用当作是给方法签名指定名称.委托的定义类似于方法的定义,但没有方法体,定义的委托名前要加上关 ...
- 初次使用ets
一.new(Name, Options) -> tid() | atom(),创建ets表. Options = [Option], 目测常用的属性, {keypos, Pos}:指定key的位 ...
- C#接口之IEnumerable,IEnumerator
IEnumerable 截图来源于https://msdn.microsoft.com/zh-cn/library/system.collections.ienumerable.getenumerat ...
- C# 使用IrisSkin2.dll皮肤库C# ssk皮肤
其实皮肤就是一个第三方的控件,名字是IrisSkin2.dll只要添加到你的工具箱里就可以和其它控件一样使用了下面我说一下使用的方法,不对的地方大家多指教啊. 一.添加控件IrisSkin2.dll. ...