Ответ 1
Ниже приведен рабочий пример уведомлений на рабочем столе для Chrome, Firefox, Opera и Safari, скопированных из примера уведомлений на рабочем столе Chrome.
Попробуйте жить в JSBin.
// 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("https://stackoverflow.com/a/13328397/1269037");
};
}
}
<button onclick="notifyMe()">Notify me!</button>
Подробнее о том, как это работает в моем ответе на пример уведомления о рабочем столе Chrome.