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
2018-08-22 :
Odoo 微信模块企业版
2017-08-10 :
DjangoX 列表页自定义计算列的使用
2024-01-16 :
Drone CI/CD相关
2016-03-12 :
Odoo 微信模块 Oejia_wx 基本使用说明
2014-12-1 :
开篇感言
2016-11-29 :
DjangoX 模型管理功能配置介绍
2022-07-11 :
Odoo 客户管理之微信定位模块
2018-10-17 :
Odoo 11 到 Odoo 12 安装的依赖环境变化
2020-09-30 :
Odoo 小程序商城模块 Oejia_weshop v0.2.2 发布,全面支持多公司销售机制
2022-12-29 :
在 Odoo 中使用 WebSocket 并兼容Odoo的Session会话识别
官方订阅号
关注订阅实时了解我们更多分享
分类
(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开发环境搭建与基本使用
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Web
Http
客服系统
审批OA
OE商城
HTML5
DjangoX
Markdown
PyQT
示例
markdown
Excel
Python
YouPBX
md
解析
oeshop
服系统
最近发布
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架子