Cordova:在浏览器中测试警报插件?

时间:2015-11-13 12:32:41

标签: javascript jquery cordova

我尝试在浏览器中安装并测试Cordova alert plugin

我已经创建了一个演示项目,并为此项目添加了一个Android平台。

现在,根据插件页面上的说明,我们可以在浏览器中测试一下吗?

Firefox OS Quirks:

Both native-blocking window.alert() and non-blocking navigator.notification.alert() are available.

所以我尝试过这样的事情:

        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>

<script>
        function alertDismissed() {
    // do something
}

window.alert = navigator.notification.alert(
    'You are the winner!',  // message
    alertDismissed,         // callback
    'Game Over',            // title
    'Done'                  // buttonName
);
</script>

但是当我在firefox中打开HTML文件时,我根本没有在浏览器中收到任何警报! 我有什么遗失的东西吗?

编辑:

我注意到当我删除文档就绪函数时,我收到以下错误:TypeError: navigator.notification is undefined

第二次编辑:

现在我已将代码更改为以下内容,但我没有收到任何错误,但我也没有在浏览器中收到任何提醒:

document.addEventListener('deviceready', function () {
  if (navigator.notification) { // Override default HTML alert with native dialog
      window.alert = function (message) {
          navigator.notification.alert(
              message,    // message
              null,       // callback
              "My Title", // title
              'OK'        // buttonName
          );
      };
  }
}, false);

2 个答案:

答案 0 :(得分:1)

好吧,为了让设备准备好你需要使用cordova.js。

事件监听器不会在您的笔记本电脑/ PC浏览器内部触发,因为该文件不存在;您可能会在控制台内部出现错误,指出找不到cordova.js。这就是为什么你总是通过模拟你的项目进行测试的原因,因为只要你输入cordova emulate androidcordova build android,就会在你平台的www目录中自动生成cordova.js文件。然后事件监听器将触发。希望我解释正确:p

答案 1 :(得分:0)

首先检查调试是否已定义RewriteCond %{QUERY_STRING} -n RewriteRule ^/$ /index.home.html ,因为您重新定义了本机浏览器navigator.notification.alert,因此无法执行