Pull to refresh

Comments 66

То есть работает сейчас практически нигде и можно использовать только как игрушку?
Хм… Оно работает, для любимых сайтов/бизнес приложений — актуально.
Более того — используем сами(бизнес-приложения). Пользователи довольны.
Ну почему, — на закрытых системах, типа интранетов, где можно сказать «нужно сидеть в таком то браузере» очень даже можно )
ps. Обновил же до отправки, не было ответа. Но на одной волне, так что правда )
Правда я не очень могу себе представить потребность в уведомлениях в интранетах.
Имел ввиду использование в корпоративных интранет-системах :)
Ну а сценариев использования ведь много может быть, — пришло задание, пришла внутренняя почта, сообщение чата и т.д., т.п.
Как минимум делать то, что делает сейчас, например, вконтакте, только уже на уровне стандарта
отчасти да, сейчас chrome и safari 6 (osx). Скоро выйдет firefox 22 ( пруф ), где поддержка есть, и надеюсь опера тоже поправит текущий баг с уведомлениями в своей 15 версии.
Vk использует как уведомление пользователю о сообщении. Очень удобная штука. Тем более если браузер ее не поддерживает ничего страшного не случится. Узнает о сообщении другим способом.
Кстати, об играх: Годвилль
Там реализованы всплывашки при определённых событиях. Появилось около полугода назад
Offtop: вам кажется письмо пришло!
Уважаемые, а подскажите, у vk также реализована нотификация? Дело в том что там просто в настройках необходимо установить галочку в «показывать сообщение» и всё. Никаких системных диалогов о подтверждении, да и в хроме, в настройках всплывающих окон в фильтре vk.com нет.
UFO just landed and posted this here
Нет, при фоновой вкладке vk — уведомления показываются точно также как и сабжевые.
UFO just landed and posted this here
Нет, там сообщения с сервера JS-ом ловятся и выводятся, но как отметили выше, только на вкладке. А тут уже как бы нативная поддержка браузером.
У vk также реализована нотификация, но она реализована не так же.
UFO just landed and posted this here
Насколько я помню в первый раз появляется нативное уведомление, но автоматом стоит галочка «всегда для vk.com»
Яндекс.Почта использует подобные уведомления прямо в браузере на любой открытой вкладке (лишь бы а одной из открытых вкладок был бы сервис Яндекса). При этом работает эта фича в текущих версиях браузеров (те же Опера 12,5, Опера 15, FF 21).
Понятно, что там не HTML5 Notifications API, но, видимо, навеяно этой возможностью.
Уведомление на странице — всего лишь стилизованный блок, а те уведомления, что описаны в статье, всплывают даже при свернутом браузере.
Ясно, спасибо, важное замечание про свёрнутый браузер. С другой стороны функция уведомления работает «здесь и сейчас», хотя и с некоторыми ограничениями, но зато на любой активной вкладке.
Так «graceful degradation» никто не отменял. Если сие не поддерживается, то можно велосипеды крутить. Описанное в статье что-то вроде уведомлений Skype, аль иных приложений подобного рода. Им не важно, открыта у вас вкладка, аль нет.
Прошу прощения, но я ошибся. Просто у меня на работе запущен и Яндекс.Браузер, а он, естественно, поддерживает HTML 5 Notifications API и именно он выдаёт мне такие окошки уведомлений. А я был уверен, что это кодеры яндекса такие молодцы :)
UFO just landed and posted this here
Вы правы, эти уведомления мне присылал запущенный я.браузер, см. комментарий чуть выше.
> Opera 15 не работает с Notifications API

Давайте не будем писать, что работает или не работает в не вышедшем барузере, или хотя бы будем указывать, что речь идет об альфе/бете.
Фактически это даже не альфа, это болванка на которую опера будут прикручивать фичи.
Опера 15 это стилизованный браузер Хромиум переделанный Opera Inc.
Я сам обрадовался когда увидел релиз. Но сильно растроился когда потестил. Слишком много завязок на хромиум (в итоге баги). Поспешили они даже с выходом Бета релиза.
Под словом даже не альфа, я подразумевал, что это не альфа, не бета, не релиз кандинат, не релиз, не голд и прочее, что означает, что функционал хоть как-то устаканился и больше его не будут трогать. Это девелопер превью версия, что значит: «Ребята, посмотрите что мы тут начали кодить, но сильно не бейте, ибо мы только начали и планов у нас много, всё поменяется».
Ещё интереснее — использовать уведомления в паре с расширениями броузера (по крайней мере в хроме). Например, при закрытой вкладке можно получать важные уведомления.
И если не ошибаюсь, для хрома можно написать расширение, работающее даже при закрытом окне браузера.
Расширение можно написать для любого браузера, но это требует больше времени ( написание под каждый браузер своего плагина ). Нужно замотивировать пользователя поставить плагин, и поставить его везде, где он использует браузер ( не все синхронизируют свои настройки браузера через учетку ). Плюс если вы это сделали, то какой профит от использования нативных уведомлений?
Ну у меня, например, так уведомления гуглопочты проверяются. Удобно.
>какой профит от использования нативных уведомлений?
не нужно писать свой велосипед, чем не профит?
Для того, чтобы опрашивать сервер и показывать уведомления достаточно одной html'ки и скрипта на пару килобайт.
UFO just landed and posted this here
Нет, это элементы интерфейса браузера.
Теоретически, исправив ресурсы браузера, можно.
Круто такое использовать в админках интернет-магазинов. Аля «новый заказ!»
Ага, лично я уже прикручиваю… =)
Следует упомянуть, что Chrome и Safari используют системные уведомления в OSX (Notification Center), поэтому не позволяют использовать кастомные иконки (показывается иконка приложения-инициатора, т.е. самого браузера). Сомневаюсь, что это изменится.
У Firefox же своя имплементация, поэтому они показывают, что хотят. Но лишая, при этом, пользователя настроек показа в централизованном месте. Подозреваю, что это тоже не изменится.
В Chrome Canary сделали отдельный сервис для сообщений со своим центром уведомлений, выглядят практически как на скриншотах в статье. Так что скоро и в стабильной версии появятся.
Центр нотификаций
image
Ну в Safari это уж точно не изменится.
Значит у Хрома та же песня про централизованною настройку. Хотя это и не так критично, особенно учитывая, что можно убивать уведомления свайпом, как и в случае с нативными.
А где этот центр уведомлений в Canary? Настройки и флаги проверил, ничего не нашёл. У меня при появлении нового уведомления, старое уходит и появляется новое, нет списка и вообще всей этой менюшки в статус баре.
Да, просто так их оказывается нет. Я забыл, что как-то щелкал всё подряд во флагах. Надо в chrome://flags включить «Enable Rich Notifications» (в обычном хроме возможно тоже есть)
Дык, в том-то и дело, что все флаги, где есть слово Notification, уже были включены.
Включил вот эти, после чего появилось (не знаю какой именно повлиял):
Experimental Extension APIs
Enable Panels
Enable Experimental JavaScript
Enable experimental WebKit features
Enable Developer Tools experiments
Ураааа, наконец то браузер становится нативным…
в последней сборке хроме экпереминтально появилось новый стиль диалоговых окон. Возможно даже в будущем для браузеров появиться своебразный MFC. Между прочем AngularJS для это и создавался чтобы скрыть разницу между десктопом и вебем…
Не помешало бы еще вот об этом упомянуть (нашел здесь www.html5rocks.com/en/tutorials/notifications/quick/)
However, it's very important to remember that the requestPermission method only works in event handlers triggered by a user action, like mouse or keyboard events, in order to avoid unsolicited infobars. In this case, the user action is the click on the button with id «show_button».

Вобщем запрос разрешения произойдет только после какого-либо события. Например пользователь нажал на кнопку «разрешить системные уведомления».
А то я минут 15 понять не мог. Почему у меня этот код Notification.requestPermission() из хромовой консоли — не срабатывает. А на сайте автора, все ОК.
Не прошло и года, как Firefox и Safari допилили этот API. Долго они, долго.
Жалко на планшете/мобильном в нативном браузере не поддерживается эта функция.
Поставил Chrome на Андроиде, данная функция также не поддерживается.
Сейчас пременить то нельзя. Но на будущее, через пол-года — год, когда браузеры подтянутся к HTML5 API, можно будет использовать.
Было бы удобно в мобильных приложениях использовать.
Очень оптимистично. Я думаю 2-3 месяца, так как firefox 22 в конце месяца выходит, Опера надеюсь в течении 2-3 месяцев будет.
Недостатки:
Срабатывает при двух статусах.

А если так?

var notify = new Notification(«test»);
notify.onerror = function(e){
console.log(e.currentTarget.permission);
};
В каком браузере? Если Safari или Chrome, то это так и задумано, о чём сказано в статье.
На самом делеле с HTML 5 Notifications API не так все просто. Сейчас существует целых 3 реализации этого API со своими багами и интерфейсами:
— Есть старая версия (webkitNotifications) в Safari 5 в которой нет обратного вызова у функции requestPermission (это ахтунг), а вместо свойства permission есть метод checkPermission(), который возвращает число-статус, а не строку.
— Есть версия в Safari 6, в которой вместо свойства permission есть функция permissionLevel(), которая уже возвращает строку.
— Есть какая-то сборка Safari или Chromium в которой Notification есть, а .prototype у него нет и, соответственно, при попытке вызова new Notification вы огребаете :)
— Есть сборка Chromium в которой при попытке вызова new Notification вкладка крашится
И наконце есть свежая сборка в которой метод cancel() переименовали в close(), а iconUrl в icon

И весь этот зоопарк гулят по просторам интернета, хотя и быстро обновляется. Ну и чтобы не огребать советую вам использовать библиотеку $.notification, которая все это чинит. Демка
В хроме permission есть у объекта класса Notification
var notify = new Notification("test"); alert(notify.permission); // default
уже работает на мобильных платформах
Как создавать такие же уведомления, но изнутри расширения?
Sign up to leave a comment.

Articles

Change theme settings