我正在尝试使用MDN中记录的W3C通知API向我的网站添加桌面通知。对于初步测试和玩游戏,我一直在使用Stack {{}}来自fiddle的这个this question。一切正常,除非通知显示并且我在使用Firefox时点击它,登陆URL在新标签页中打开,Firefox立即切换到触发通知的页面。
在Chrome上没有看到这种奇怪的行为。它在那里工作得很好。是什么导致了这种行为?我做错了吗?
这是来自那个小提琴的代码:
<button onclick="notifyMe()">Notify me!</button>
<script>
// request permission on page load
document.addEventListener('DOMContentLoaded', function () {
if (Notification.permission !== "granted")
Notification.requestPermission();
});
function notifyMe() {
if (!Notification) {
alert('Desktop notifications not available in your browser. Try Chromium.');
return;
}
if (Notification.permission !== "granted")
Notification.requestPermission();
else {
var notification = new Notification('Notification title', {
icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
body: "Hey there! You've been notified!",
});
notification.onclick = function () {
window.open("http://stackoverflow.com/a/13328397/1269037");
};
}
}
</script>
答案 0 :(得分:1)
替换:
window.open("http://stackoverflow.com/a/13328397/1269037");
使用:
var myWindow = window.open("http://stackoverflow.com/a/13328397/1269037");
myWindow.focus();