Cordova DeviceReady 未触发

2024-04-24

这几天我一直在为这个问题苦苦思索。在尝试创建新的 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"

(如果不存在全球化,我会得到相同的结果)。

我还应该寻找其他地方吗?我正在从命令行运行,如果这有什么不同的话。


我认为在这种情况下你需要包括cordova.js在你的申请中,因为我没有看到cordova.js在你的例子中

<script src="cordova.js"></script>

Note: path to cordova.js取决于它在您的应用程序中的位置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cordova DeviceReady 未触发 的相关文章