我正在尝试使用Android上的菜单按钮和PhoneGap。问题是我无法使用它,因为在日志中出现此错误:
“未捕获的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
如果我有一些英语错误,我很抱歉,但我正在尝试没有谷歌翻译。
谢谢。
答案 0 :(得分:7)
首先请检查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>