我尝试在浏览器中安装并测试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);
答案 0 :(得分:1)
好吧,为了让设备准备好你需要使用cordova.js。
事件监听器不会在您的笔记本电脑/ PC浏览器内部触发,因为该文件不存在;您可能会在控制台内部出现错误,指出找不到cordova.js。这就是为什么你总是通过模拟你的项目进行测试的原因,因为只要你输入cordova emulate android
或cordova build android
,就会在你平台的www目录中自动生成cordova.js文件。然后事件监听器将触发。希望我解释正确:p
答案 1 :(得分:0)
首先检查调试是否已定义RewriteCond %{QUERY_STRING} -n
RewriteRule ^/$ /index.home.html
,因为您重新定义了本机浏览器navigator.notification.alert
,因此无法执行