Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript cordova插件不可添加|未捕获类型错误:未定义不是函数_Javascript_Cordova_Cordova Plugins - Fatal编程技术网

Javascript cordova插件不可添加|未捕获类型错误:未定义不是函数

Javascript cordova插件不可添加|未捕获类型错误:未定义不是函数,javascript,cordova,cordova-plugins,Javascript,Cordova,Cordova Plugins,几天来,我一直在尝试根据cordova主页上的文档添加插件,我开始怀疑自己。。。不可能那么难。。。 我从德语版开始(因为我来自德国)并感到失望。它写得很糟糕。只是文本本身的质量不好。我没有对内容进行足够的评估。 我切换到了英文版本,这是很好的,我想我遵循了每一个步骤,并按照它应该的方式设置了所有内容,但是当我尝试运行添加了插件的项目(或空白项目)时,我得到了以下错误: 07-24 03:51:15.036 29983-29983/? D/CordovaWebViewImpl: onPageDi

几天来,我一直在尝试根据cordova主页上的文档添加插件,我开始怀疑自己。。。不可能那么难。。。 我从德语版开始(因为我来自德国)并感到失望。它写得很糟糕。只是文本本身的质量不好。我没有对内容进行足够的评估。 我切换到了英文版本,这是很好的,我想我遵循了每一个步骤,并按照它应该的方式设置了所有内容,但是当我尝试运行添加了插件的项目(或空白项目)时,我得到了以下错误:

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