如何访问 javascript 插件对象并使用自定义 www/index.html 位置?
当我将此行添加到project_name/www/config.xml 中时:
<content src="app/index.html" />
我可以为 www/index.html 加载自定义位置,但我无权访问已安装的任何 Cordova 插件。
以下代码在加载默认 www/index.html 时报告成功。
从 www/app/index.html 加载 index.html 时,navigator.connection 未定义,并抛出错误:
'undefined' is not an object (evaluating 'navigator.connection.type')
这是初始化phonegap的代码,等待设备准备好,初始化angularJS,然后通过插件检查连接。
var app = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener("deviceready", this.onDeviceReady, false);
},
onDeviceReady: function() {
angular.bootstrap(document, ["myApp"]);
checkConnection();
},
}
app.initialize();
function checkConnection() {
alert('Reporting connection information');
try{
alert(navigator.connection.type);
} catch(error) {
alert('Error' + error);
alert(navigator);
}
}
附加信息:
- 此行为与 PhoneGap 3.0 和 3.1 一致
- 原生插件文件确实存在于 project_name/platforms/ios/Plugins 目录中(即:CDVConnection.m & CDVConnection.h)
- 我正在使用 AngularJS 1.2
- 用 iOS6、iOS7 测试
- XCode 5.0 和 5.2
- 使用 Phonegap 3.1,XCode 日志报告“ 2013-11-12 13:39:14.179 ESA Mobile[936:60b] Unlimited access to network resources ”。表明插件是在本机代码中加载的,我只是无权访问 javascript 对象。