【发布时间】:2015-01-09 16:47:12
【问题描述】:
这几天我一直在努力解决这个问题。在尝试创建新的 FileTransfer() 对象时出现许多“对象未定义”错误后,看起来问题更基本——不知何故,DeviceReady 事件没有触发。
Stack Overflow 在这个问题上有很多点击,但其中大多数都与具有不同架构的 3.x 之前的 cordova 构建有关(我在 4.1.2 上)。我已经尝试了我能找到的较新主题中的建议——删除和添加插件、更新cordova等——但无济于事。为了尝试隔离问题,我将启动代码注释掉了几行:
索引.html:
<!DOCTYPE html>
<html>
<head>
<title>Blah</title>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1, user-scalable=no, minimum-scale=1, maximum-scale=1">
<link href="res/topcoat/css/topcoat-mobile-light.min.css" rel="stylesheet">
<link href="res/css/styles.css" rel="stylesheet">
<link href="res/css/pageslider.css" rel="stylesheet">
<script data-main="js/main" src="lib/require.js"></script>
</head>
Main.js:
require(["app/Application"], function (Application) {
"use strict";
document.addEventListener("deviceready", function(){
$('body').html("<p>device is ready</p>");
},true);
$('body').html("<p>waiting...</p>");
});
稍后在正文中不会显示“设备已准备好”,而是显示“正在等待...”。这在 iOS 模拟器和浏览器(cordova emulate browser)上都会发生。
科尔多瓦信息:
$ cordova -v
4.1.2
插件信息:
$ cordova plugins
org.apache.cordova.globalization 0.3.3 "Globalization"
(如果没有全球化,我会得到相同的结果)。
还有其他我应该寻找的地方吗?我正在从命令行运行,如果这有什么不同的话。
【问题讨论】:
标签: javascript cordova cordova-cli