PhoneGap错误 - “未捕获的ReferenceError:未定义cordova”

时间:2013-04-22 14:45:01

标签: android cordova

我正在尝试使用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

如果我有一些英语错误,我很抱歉,但我正在尝试没有谷歌翻译。

谢谢。

1 个答案:

答案 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>