Oejia 技术栈
首页
应用市场
方案
OE学院
分享
关于
编辑器
登录
Cordova页面加载的事件
on 2014-12-16
### 概述 通常一个UI的运行过程都会涉及到一些事件,基于HTML5 UI的Cordova也不例外,Cordova除了兼容HTML5本身的一些内建事件外还包含他特有的事件,比如deviceready。 ### 三个重要事件 #### deviceready事件 Cordova提供的通过HTML5调用Native功能并不是立即就能使用的 Cordova框架在读入HTML5代码之后进行HTML5和Native建立桥接,桥接的初始化完成后才能调用Native功能,与此同时Cordova会调用他自身特有的事件,即deviceready事件 deviceready事件是在每回读入HTML的时候都会被调用,而不只是每次应用启动时调用 下面是一个真实项目中的使用示例: ```js document.addEventListener('deviceready', onDeviceReady, false); function onDeviceReady(){ //后退的处理 document.addEventListener("backbutton", function (e) { if(J.isMenuOpen){ J.Menu.hide(); }else if(J.hasPopupOpen){ J.closePopup(); }else{ var sectionId = $('section.active').attr('id'); if(sectionId == 'index_section'){ J.confirm('提示','是否退出程序?',function(){ navigator.app.exitApp(); }); }else{ J.Router.back(); } } }, false); App.run(); navigator.splashscreen.hide(); //隐藏Splash画面 } ``` #### DOMContentLoaded事件 DOM内容加载完成后即触发 #### load事件 DOMContentLoaded事件之后,其他资源加载完成后触发 --- 因此以上三个事件的执行顺序如下 ``` DOMContentLoaded -> load -> deviceready ``` 可以看出load事件的执行速度会影响到deviceready事件的调用,通常我们把一些不必要的资源放在deviceready事件之后调用以提高执行速度 ### JS错误的捕获 Cordova的app当js执行失败时前台默认不会有任何提示,通常发现点击没有任何反应,很可能JS执行出错了,怎样暴露出这些出错信息以方便调试呢? ``` window.onerror = function(msg, url, line) { var idx = url.lastIndexOf("/"); if(idx > -1) { url = url.substring(idx+1); } alert("ERROR in " + url + " (line #" + line + "): " + msg); return false; }; ``` 通过加入上述监听即可捕获JavaScript的Error信息。
Information
Cordova页面加载的事件
http://www.oejia.net/article/cba37b808db6bcc1d543d8545958ff80
http://www.oejia.net/raw/cba37b808db6bcc1d543d8545958ff80
on 2014-12-16
Category
移动开发
Tag
HTML5
Related
2021-08-29 :
Odoo 中时间相关的一些注意点
2018-05-04 :
微信模块 Oejia_wx v0.5.1 发布,优化聊天会话缓存及多db模式的支持
2020-10-28 :
YouPBX 定制版说明文档
2018-11-28 :
Unihertz
2016-11-22 :
Odoo 即时消息和通知相关的模块探究
2019-01-24 :
Python3 Python2 兼容处理集锦
2018-01-23 :
Odoo 视图之 act_window
2016-12-16 :
Odoo 的静态资源优化方案
2020-06-05 :
小程序商城模块 Oejia_weshop v0.2.1 发布,各种营销活动支持打通线上线下业务
2018-04-28 :
呼叫平台接口文档
官方订阅号
关注订阅实时了解我们更多分享
分类
(20)
Django (3)
DjangoX (13)
JS (2)
Nginx (1)
Odoo (134)
Python (1)
YouMd (3)
公告说明 (2)
前端 (2)
后端HTTP (7)
异常处理 (1)
桌面UI (1)
移动开发 (4)
About This Entry
Python包管理之easy_install
Cordova配置config.xml详解
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Web
Http
客服系统
审批OA
HTML5
OE商城
Markdown
DjangoX
解析
oeshop
PyQT
服系统
YouPBX
Excel
示例
md
markdown
Python
最近发布
OSError [Errno 5] Input/output error 异常处理
Odoo context 的常见使用示例
Odoo 符合国人菜单导航习惯的后台主题,支持最新的Odoo17、16等版本,支持企业版!
Odoo 官方应用市场开启 Odoo17 应用的发布!增加了行业应用专栏
Odoo商城模块 Oejia_weshop v1.2 发布,多商户、分销增强,增加商家端!
处理 Error Failed to download metadata for repo ‘appstream‘ Cannot prepare internal mirrorlist
Odoo 16 关键变化 change the term "acquirer" to "provider"
企业微信错误码 81013 的排查与处理
微信模块 Oejia_wx v0.6.7 发布,支持 Odoo16 及新的Websocket消息模式
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子