科尔多瓦在从 3.3.0 更新到 3.6.4 后未启动设备准备就绪
Cordova not firing deviceready after update from 3.3.0 to 3.6.4
我有一个适用于Android的cordova + jquery移动应用程序,其中包含本机插件列表。一切都很好,直到我使用"cordova 平台更新 adnroid"命令将 cordova 从 3.3.0 更新到 3.6.4。在此更新之后,Cordova在某些设备上未触发设备就绪事件。
我已经对类似的问题进行了关于 StackOverflow 的研究,但没有发现任何可以帮助我的东西。
有什么想法吗?TXH 提前寻求帮助
当您查看日志时,您可能会看到如下所示的内容:
D/CordovaLog( 3770): file:///android_asset/www/cordova.js: Line 512 : Uncaught TypeError: Cannot set property connection of #<a Navigator> which has only a getter
逃脱没有被抓住,所以故事就到此为止了。该修复非常简单,并已提交到下一个版本。
我手动应用了差异,它似乎有效。 我能够与受影响的一位用户验证该应用程序现在是否正常运行。
diff --git a/src/common/builder.js b/src/common/builder.js
index 826820d..75d3ea7 100644
--- a/src/common/builder.js
+++ b/src/common/builder.js
@@ -31,9 +31,14 @@ function each(objects, func, context) {
function clobber(obj, key, value) {
exports.replaceHookForTesting(obj, key);
- obj[key] = value;
+ var needsProperty = false;
+ try {
+ obj[key] = value;
+ } catch (e) {
+ needsProperty = true;
+ }
// Getters can only be overridden by getters.
- if (obj[key] !== value) {
+ if (needsProperty || obj[key] !== value) {
utils.defineGetter(obj, key, function() {
return value;
});
有关详细信息,请参阅这两个链接,其中提供了所有详细信息。基本上,为iOS8支持添加了一些代码,并且对于某些版本的android具有不良副作用。
- https://issues.apache.org/jira/browse/CB-7868
- 类型错误"无法在控制台中设置 #
的属性连接"将项目升级到最新版本的 Cordova 4.0.0 时
相关文章:
- 当组件准备就绪时,如何在Polymer中动态注册新属性
- IIFE jquery已准备就绪
- 准备就绪时的随机背景
- Javascript/Css导航未显示在jquery文档上,仅在ie中准备就绪
- 在页面上加载高级jQuery版本准备就绪
- 修改 DOM 后如何确保 DOM 再次准备就绪
- 可以't将属性src设置为null,即使DOM已准备就绪
- 当文档准备就绪时,将数据从一个文本框复制到另一个
- 电话间隙设备准备就绪,5秒钟后未启动
- AngularJS文档准备就绪,无法正常工作
- 只有在文档内部的警报准备就绪后,触发器才能工作
- 确定对象何时准备就绪.我应该使用事件吗
- SVG正在等待文档在javascript中准备就绪
- 在 DOM 准备就绪之前附加类
- 如何检查提供程序以查看 HTTP 数据是否已准备就绪
- 科尔多瓦在从 3.3.0 更新到 3.6.4 后未启动设备准备就绪
- 当数据准备就绪时,React-Rails gem 调用组件
- angularJS:等待ng-if完成,以确保DOM准备就绪
- 在文档准备就绪之前,Javascript onload 事件和其他事件
- 当文档准备就绪时,单击事件Jquery启动