注意事项:
- 1 如何对Cordova桥的deviceready消息封装问题?
- 2 如何获取Cordova对象的父对象的实例问题?
1.1 deviceready消息的作用?
Cordova桥需要原生端与JS端都加载完成后才能正常通信,而Cordova桥确认两端是否加载完成的消息,就是deviceready消息,所以任何JS语言在使用Cordova桥的时候,App应用层的所有逻辑都应该在deviceready消息之后。
1.2 deviceready消息的封装逻辑:
// 定义方法
function appLaunch() {
// app应用层业务逻辑代码
}
// 在每个JS框架启动的入口方法处添加以下代码:
if (window.cordova) {
console.log('Cordova模式');
document.addEventListener("deviceready", function() {
// 编写项目业务代码开始
appLaunch();
}, false);
} else {
console.log('web模式');
appLaunch();
}
2 如何获取Cordova对象的父对象的实例问题:
注意 在使用各种JS语言时,如何按照对应JS语言的标准获取到window对象。
2.1 例如:在使用AngularJS 3 时,对应的编码语言为TypeScript:
declare const window: any;
// 获取方式
// window.cordova