【发布时间】:2017-07-05 22:09:31
【问题描述】:
我正在开发一个运行良好的应用程序,直到我推送了我的最新更新,我发现它是 cordova-plugin-device 的问题。
我得到错误
cordova.js:1223 deviceready has not fired after 5 seconds.
cordova.js:1216 Channel not fired: onCordovaInfoReady
添加插件后cordova-plugin-device。
即使对于我在 cordova 项目目录中运行它得到的一个简单的 hello world 应用程序也会发生这种情况
cordova create hello com.example.hello HelloWorld
唯一的区别是通过(在项目目录中)添加插件
cordova plugin add cordova-plugin-device
可能的原因
我已经探索了可能导致问题的不同可能性,但没有一个解决了问题。
- 内容安全策略
我已将index.html 页面中的元标记更改为
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
无济于事。
- 安装最新的插件/平台
它没有工作。以下是我正在使用的版本:
$ npm --version
4.2.0
$ cordova -v
6.5.0
$ cordova platforms
Installed platforms:
android 6.1.2
$ cordova plugins
cordova-plugin-device 1.1.4 "Device"
cordova-plugin-whitelist 1.3.1 "Whitelist"
我怀疑这是cordova-plugin-device 本身的错误。如果我应该提交错误报告,请欣赏意见。
非常感谢!
【问题讨论】:
-
你添加浏览器平台了吗?我在您的帖子中按照您的步骤操作,只添加了“浏览器”,一切都很好。我认为问题在于,由于您没有添加浏览器,因此它不会为“父”文件夹生成cordova.js。如果您安装了 android/ios/win 平台,您将在该特定平台上拥有一个 cordova.js。如果您执行“cordova 平台添加浏览器”,它将开始在根项目中生成cordova.js
-
我刚刚尝试添加和服务浏览器,但问题仍然存在。在运行cordova serve android 或cordova serve 浏览器时,我没有遇到cordova.js 文件的任何问题。无论如何,如果它适合您,我可能会尝试完全重新安装cordova。我看到互联网上出现了同样的问题,但从未找到明确的解决方案。感谢您的帮助!
-
我在6.1.1,让我升级看看。错误可能性增加!
-
好的,在 6.5.0 上,它仍然对我有用。我必须导航到platforms/browser/www,然后从那里复制cordova.js,并将其粘贴到root/www,但我正在准备设备。仔细检查以确保插件已安装:cordova-plugin-device 1.1.4 "Device" cordova-plugin-whitelist 1.3.1 "Whitelist" ...我想我现在的设置基本相同。
-
谢谢,我已经降级到 6.1.1 仍然没有运气。我想知道有什么区别......