我正在尝试安装并测试 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 android
或 cordova build android
,cordova.js 文件就会在您平台的 www 内自动生成目录,然后事件监听器将触发。希望我解释得对:p
关于javascript - Cordova:在浏览器中测试警报插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692830/