Push уведомления браузера

10:42 6.09.2017
Попался мне один интересный сценарий для вывода Push уведомлений в браузере, я его немного подкорректировал и вот, что получилось:
function pushNotification(header, param, url) {
	if (!('Notification' in window)) {
		return false;
	}
	else if (Notification.permission === 'granted') {
		var notification = new Notification(header, param);

		notification.onclick = function() {
			if (url != null) {
				window.open(url, '_blank');
			};
		};
	}
	else if (Notification.permission !== 'denied') {
		Notification.requestPermission(function(permission) {
			if (permission === 'granted') {
				var notification = new Notification(header, param);
			};
		});
	};
};

Данный скрипт первым делом спрашивает разрешение на отображение уведомлений, если пользователь разрешит, то уведомления будут отображаться, если не разрешит, разумеется ни каких уведомлений скрипт не покажет. Уведомляющий блок появляется в правой, нижней части экрана, может быть и в другом месте, это зависит от браузера. Уведомления отображаются, даже если пользователь находится на другой вкладке, или вообще свернул обозреватель, главное не закрыть страницу, на которой выполняется скрипт.

Теперь расскажу, как следует запускать функцию pushNotification на примере (код прокомментировал):
// Параметры уведомления
var param = {
	body : 'Вам большой привет от DANFA!', // Текст сообщения
	icon : 'hi.png', // Картинка уведомления (адрес и название)
	dir  : 'auto'     // Направление строки
};

pushNotification(
	'Привет от DANFA!',    // Заголовок уведомления
	param,            // Параметры уведомления
	'https://danfa.net/'    // Адрес, куда отправить пользователя, если он кликнет по уведомлению
);