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

标签 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);

最佳答案

好吧,为了让设备准备好启动,您需要 cordova.js。

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

关于javascript - Cordova:在浏览器中测试警报插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692830/

相关文章:

jquery - 折叠某些组jqGrid

jquery - jQuery AJAX 中 10 秒后 API 调用超时

android - 将加载指示器/进度条添加到 Phonegap Android 闪屏

javascript - JS - 如何获取内部样式元素的内容(&lt;style&gt;...</style)

javascript - Node express-session不返回myvar(或不使用相同的sessionID)

javascript - 每 15 秒运行一次 jquery 函数

cordova - 修饰 jquery mobile 的内部类比

循环内的 JavaScript 闭包——简单实用的例子

javascript - 你如何确定他选择了一个?

jquery - 数据表 - 仅在 IE9 中出现滚动问题