Javascript cordova插件不可添加|未捕获类型错误:未定义不是函数
几天来,我一直在尝试根据cordova主页上的文档添加插件,我开始怀疑自己。。。不可能那么难。。。 我从德语版开始(因为我来自德国)并感到失望。它写得很糟糕。只是文本本身的质量不好。我没有对内容进行足够的评估。 我切换到了英文版本,这是很好的,我想我遵循了每一个步骤,并按照它应该的方式设置了所有内容,但是当我尝试运行添加了插件的项目(或空白项目)时,我得到了以下错误:Javascript cordova插件不可添加|未捕获类型错误:未定义不是函数,javascript,cordova,cordova-plugins,Javascript,Cordova,Cordova Plugins,几天来,我一直在尝试根据cordova主页上的文档添加插件,我开始怀疑自己。。。不可能那么难。。。 我从德语版开始(因为我来自德国)并感到失望。它写得很糟糕。只是文本本身的质量不好。我没有对内容进行足够的评估。 我切换到了英文版本,这是很好的,我想我遵循了每一个步骤,并按照它应该的方式设置了所有内容,但是当我尝试运行添加了插件的项目(或空白项目)时,我得到了以下错误: 07-24 03:51:15.036 29983-29983/? D/CordovaWebViewImpl: onPageDi
07-24 03:51:15.036 29983-29983/? D/CordovaWebViewImpl:
onPageDidNavigate(file:///android_asset/www/index.html)
07-24 03:51:15.247 29983-29983/io.cordova.hellocordova D/JsMessageQueue: Set
native->JS mode to EvalBridgeMode
07-24 03:51:15.286 29983-29983/io.cordova.hellocordova
D/SystemWebChromeClient: file:///android_asset/www/plugins/cordova-plugin-
echo-js/www/echo.js: Line 28 : Uncaught TypeError: undefined is not a
function
07-24 03:51:15.286 29983-29983/io.cordova.hellocordova I/chromium:
[INFO:CONSOLE(28)] "Uncaught TypeError: undefined is not a function",
source: file:///android_asset/www/plugins/cordova-plugin-echo-js/www/echo.js
(28)
07-24 03:51:15.290 29983-29983/io.cordova.hellocordova D/CordovaWebViewImpl:
onPageFinished(file:///android_asset/www/index.html)
07-24 03:51:15.384 29983-29983/io.cordova.hellocordova
D/SystemWebChromeClient: file:///android_asset/www/js/index.js: Line 36 :
Uncaught TypeError: Cannot read property 'querySelector' of null
07-24 03:51:15.384 29983-29983/io.cordova.hellocordova I/chromium:
[INFO:CONSOLE(36)] "Uncaught TypeError: Cannot read property 'querySelector'
of null", source: file:///android_asset/www/js/index.js (36)
这是我设置的环境:
Windows 8 64 bit Enterprise
Android Studio 2.3.3
$ cordova -v 7.0.1
$ npm --version 3.10.10
$ git --version git version 2.13.2.windows.1
$ grunt --version grunt-cli v1.2.0
$ bower --version 1.8.0
当然,我在谷歌上搜索了一下,并尝试了各种“解决方案”。删除插件,删除平台,添加备份。从头开始一个项目。以不同的方式添加插件和其他我现在肯定缺少的东西。没有一个解决方案对我有帮助
我感谢任何帮助。这个问题真让我恼火。
问候
黎明
编辑(2017年7月27日):在注释中添加index.js echo.js作为gist错误并非由于与cordova相关的任何原因 第一个错误“echo js/www/echo.js:第28行:未捕获类型错误:未定义”不是 函数“的出现是因为在echo.js中,第28行即windows.echo未定义。window.echo的上下文在函数内部使用时丢失 第二个错误在index.js中:“UncaughtTypeError:无法读取null的属性'querySelector'。js无法找到由“id”定义的元素,因此变量“parentElement”为null,这会导致此错误
如果您可以共享整个项目,解决这些错误会更容易。您可以共享index.js和echo.js吗?错误似乎在这两个文件的代码中。echo.js:index.js:谢谢你的评论@Keerthi我明白你的意思。因为它在cordova.define(){}函数中?有趣的是,如果我没记错的话,这个定义代码是自动生成的。为什么cordova会生成错误代码?分享整个项目?用完整的结构将其完全上传到git?是的。只要没有敏感或私有数据,你就可以将其上传到git并共享。我发现这个虚拟项目中不应该有任何私有/敏感数据。这个错误与科尔多瓦有关。我没有调用device ready函数中的东西/没有等待device ready事件触发。对于其他有同样问题的人。解决方法是:仔细阅读文档,即使阅读和理解文档不是很好。谢谢你的帮助@Keerthi