7

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

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

谢谢你。

4

1 回答 1

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>
于 2013-04-22T14:49:47.810 回答