系統事件管理(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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM