PhoneGap 错误 - “未捕获的 ReferenceError:cordova 未定义”
Posted
技术标签:
【中文标题】PhoneGap 错误 - “未捕获的 ReferenceError:cordova 未定义”【英文标题】:PhoneGap error - "Uncaught ReferenceError: cordova is not defined" 【发布时间】:2013-04-22 14:45:01 【问题描述】:我正在尝试通过 PhoneGap 使用 android 上的菜单按钮。问题是我无法使用它,因为日志上出现此错误:
“未捕获的 ReferenceError:cordova 未定义”。
这是来源:
<!DOCTYPE html>
<html>
<head>
<!--<script type="text/javascript" charset="utf-8" src="js/cordova-2.6.0.js"></script>-->
<!--<script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>-->
<!--<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>-->
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript">
function onLoad()
document.addEventListener("deviceready", function ()
document.addEventListener("menubutton", function()
alert('Menu button pressed.');
, true);
, false);
</script>
</head>
<body onload="onLoad()">
<p>Hello world!</p>
</body>
</html>
我认为问题在于cordova.js 的导入,所以我尝试使用所有已注释的选项。
我不知道有没有关系,但是每次我启动脚本时,控制台都会出现这个错误,并带有红色:
E/webview(21743): registerForStylusPenEvent onAttachedToWindow
E/webview(21743): registerForStylusPenEvent START
E/webview(21743): registerForStylusPenEvent END
如果有一些英语错误,我很抱歉,但我正在尝试不使用谷歌翻译。
谢谢。
【问题讨论】:
【参考方案1】:首先请检查您的cordova.js 的路径和文件名是否正确。然后去掉onLoad事件,在脚本文件中写入deviceready
事件钩子,如下图:
<!DOCTYPE html>
<html>
<head>
<!--<script type="text/javascript" charset="utf-8" src="js/cordova-2.6.0.js"></script>-->
<!--<script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>-->
<!--<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>-->
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", function ()
document.addEventListener("menubutton", function()
alert('Menu button pressed.');
, true);
, false);
</script>
</head>
<body>
<p>Hello world!</p>
</body>
</html>
【讨论】:
谢谢!这是一个愚蠢的错误。我看的地方说是cordova-x-x-x.js这个文件是自动添加的……你回答后,我把文件放到文件夹里就可以了。 @WhizKid 我正确添加了该 cordova.js 文件。但在那之后它就不起作用了 @DeepikaLalra 您可以将您的代码作为单独的问题发布并在此处发布链接吗? @Whizkid747 它工作正常。错误是我没有正确注册 deviceready 事件。我在写 document.addEventListener("deviceready", onDeviceReady(), false);错误是我在回调函数之后附加了“()”。以上是关于PhoneGap 错误 - “未捕获的 ReferenceError:cordova 未定义”的主要内容,如果未能解决你的问题,请参考以下文章
iPhone 错误 ld:/Users/Shared/PhoneGap/Frameworks/PhoneGap.framework/PhoneGap 中的重复符号 _SBJSONErrorDomain
PhoneGap / Cordova 回调错误 - 在 PhoneGap 中未执行 RestKit 完成功能
PhoneGap/Cordova WebStorm Ubuntu - 错误