Почему web push в Firefox и Chrome под OS X выглядят и ведут себя по-разному?

Уведомление через Firefox появляется в окошечке со скруглёнными углами,
fc78f5b03d204d4a88f13dbb80789e69.png
пропадает через несколько секунд и остаётся в трее для нотификаций:
fdc3a63ce0a34d83a75a70e18c4aade0.png

Уведомление через Chrome же появляется в каком-то кастомном окне, с острыми углами и X для закрытия, не пропадает само и не оставляет следов в Notifications трее:
f4dc8017b3464734b7853441c777358b.png
 
Почему это так? Разве браузеры не используют какой-то один апи операционной системы для отображения уведомлений?

Можно ли для Хрома задействовать такой же «родной» механизм, как у Firefox (и, вероятно, Safari – ещё не подключал).

Метод в service worker, отображающий уведомления во всех случаях:

// ...
self.addEventListener('push', function(event) {
	console.log('Push message received', event);
	var title = 'Deserterio message';
	event.waitUntil(
		self.registration.showNotification( title, {
			body: 'event xxx',
			icon: 'i/150x150.png',
			tag: 'my-tag'
		})
	);
});
  • Вопрос задан
  • 704 просмотра
Решения вопроса 1
BupycNet
@BupycNet
Основатель PushAll
Да у них используются разные методы отображения уведомлений. Вообще в хроме есть эксперементальная поддержка нативных уведомлений, но проблема в том, что в хроме уведомления более расширенные.
Гугл называет это Rich Notifications, такие уведомления могут иметь в себе несколько кнопок, крупную картинку под уведомлением и т.д. - нативные OSX уведомления так не умеют.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы