ÐÑимеÑание: ÐÑа возможноÑÑÑ Ð´Ð¾ÑÑÑпна в Web Workers.
Push API пÑедоÑÑавлÑÐµÑ Ð²ÐµÐ±-пÑиложениÑм возможноÑÑÑ Ð¿ÑинимаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ñ ÑеÑвеÑа незавиÑимо Ð¾Ñ Ñого, запÑÑено веб-пÑиложение пÑÑмо ÑейÑÐ°Ñ Ð¸Ð»Ð¸ неÑ. ЧÑо в ÑÐ²Ð¾Ñ Ð¾ÑеÑÐµÐ´Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑазÑабоÑÑикам опеÑаÑивно ÑведомлÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелей, коÑоÑÑе ÑазÑеÑили пÑиÑÑлаÑÑ Ñебе ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ новом конÑенÑе.
Ðб иÑполÑзовании Push APIÐбÑаÑиÑе внимание: ÐÑи иÑполÑзовании PushManager-подпиÑок жизненно важно заÑиÑаÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð¾Ñ CSRF/XSRF-аÑак в ваÑем пÑиложении. ÐодÑобнее ÑиÑайÑе по ÑÑÑлкам:
ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑообÑений Ð¾Ñ ÑеÑвеÑа Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð°ÐºÑивиÑованнÑй ÑеÑвиÑ-воÑкеÑ. ÐоÑле акÑиваÑии Ñ ÑеÑвиÑ-воÑкеÑа поÑвиÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑаÑÑÑÑ Ð½Ð° канал Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑообÑений, иÑполÑзÑÑ PushManager.subscribe()
.
Ð ÑезÑлÑÑаÑе подпиÑки бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑен обÑÐµÐºÑ PushSubscription
Ñо вÑей необÑ
одимой инÑоÑмаÑией, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ð·Ð° ÑообÑениÑми на ÑеÑвеÑ: URL-адÑÐµÑ Ð¸ клÑÑ ÑиÑÑованиÑ.
ÐоÑле подпиÑки ÑеÑвиÑ-воÑкеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавиÑÑ Ð¾Ð±ÑабоÑÑик ServiceWorkerGlobalScope.onpush
Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑообÑений Ð¾Ñ ÑеÑвеÑа. РкаÑеÑÑве ÑеакÑии на ÑообÑение можно, напÑимеÑ, обÑаÑаÑÑÑÑ Ðº ÑеÑвеÑÑ Ð·Ð° даннÑми и показÑваÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñведомление Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода ServiceWorkerRegistration.showNotification()
.
ÐÐ»Ñ ÑеÑвиÑ-воÑкеÑа ÐºÐ°Ð¶Ð´Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñка ÑникалÑна, а ÐµÑ URL-адÑÐµÑ â ÑникалÑÐ½Ð°Ñ ÑпеÑиалÑÐ½Ð°Ñ ÑÑÑлка. ÐоÑколÑÐºÑ ÑÑо вÑÑ, ÑÑо нÑжно Ð´Ð»Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ðº ÑеÑвеÑÑ, даннÑÑ ÑÑÑÐ»ÐºÑ Ð½Ñжно деÑжаÑÑ Ð² ÑекÑеÑе, инаÑе лÑбое дÑÑгое пÑиложение ÑÐ¼Ð¾Ð¶ÐµÑ Ð²Ð¾ÑполÑзоваÑÑÑÑ Ð²Ð°Ñим ÑеÑвеÑом.
ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ push-ÑообÑений ÑеÑвиÑ-воÑкеÑÑ ÑÑебÑÑÑÑÑ ÑеÑÑÑÑÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð²Ð»Ð¸ÑÑÑ, напÑимеÑ, на ÑаÑÑ Ð¾Ð´ баÑаÑеи. Ðо вÑÐµÑ Ð±ÑаÑзеÑÐ°Ñ ÑÑи пÑÐ¾Ð±Ð»ÐµÐ¼Ñ ÑеÑаÑÑÑÑ Ð¿Ð¾-ÑазномÑ, какого-Ñо единого ÑÑандаÑÑа на ÑÑÐ¾Ñ ÑÑÑÑ Ð½ÐµÑ. ÐапÑимеÑ, бÑаÑÐ·ÐµÑ Firefox огÑаниÑÐ¸Ð²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑообÑений, коÑоÑое можно оÑпÑавиÑÑ Ð¿ÑиложениÑ, однако ÑообÑÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾ÐºÐ°Ð·Ð¾Ð¼ ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð² ÑÑÐ¾Ñ Ð»Ð¸Ð¼Ð¸Ñ Ð½Ðµ попадаÑÑ. Ð Chrome ÑÐ°ÐºÐ¸Ñ Ð¾Ð³ÑаниÑений неÑ.
ÐнÑеÑÑейÑÑPushEvent
ÐпиÑÑÐ²Ð°ÐµÑ Ð´ÐµÐ¹ÑÑвие, напÑавленное в глобалÑнÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ð¾ÑÑи ÑеÑвиÑ-воÑкеÑа
. ÐклÑÑÐ°ÐµÑ Ð¸Ð½ÑоÑмаÑиÑ, пеÑеданнÑÑ ÑеÑвеÑом подпиÑÑикам
.
PushManager
ÐÑедоÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑаÑÑÑÑ Ð½Ð° ÑообÑÐµÐ½Ð¸Ñ Ð¾Ñ ÑÑоÑÐ¾Ð½Ð½Ð¸Ñ ÑеÑвеÑов и полÑÑиÑÑ URL-адÑÐµÑ Ð´Ð»Ñ Ð¾ÑпÑавки push-Ñведомлений.
PushMessageData
СодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñе, оÑпÑавленнÑе ÑеÑвеÑом, и меÑÐ¾Ð´Ñ Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼Ð¸.
PushSubscription
ÐÑедоÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ URL-адÑÐµÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñки, а Ñакже ÑодеÑÐ¶Ð¸Ñ Ð¼ÐµÑод Ð´Ð»Ñ Ð¾ÑпиÑки.
PushSubscriptionOptions
ÐпиÑÑÐ²Ð°ÐµÑ Ð¿Ð°ÑамеÑÑÑ ÐºÐ¾Ð½ÐºÑеÑной подпиÑки.
СпеÑиÑикаÑÐ¸Ñ Push API ÑаÑÑиÑÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи ÑеÑвиÑ-воÑкеÑов Ð´Ð»Ñ ÑабоÑÑ Ñ push-ÑообÑениÑми: позволÑÐµÑ Ð¾ÑÑлеживаÑÑ Ð¸ ÑеагиÑоваÑÑ Ð½Ð° Ñакие ÑообÑениÑ, а Ñакже ÑледиÑÑ Ð·Ð° изменениÑми в подпиÑÐºÐ°Ñ .
ServiceWorkerRegistration.pushManager
ТолÑко Ð´Ð»Ñ ÑÑениÑ
ÐозволÑÐµÑ Ð¾Ð±ÑаÑиÑÑÑÑ Ðº инÑеÑÑейÑÑ Ð¿Ð¾ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñками PushManager
, в Ñом ÑиÑле Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñки, полÑÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о ÑекÑÑей подпиÑке, а Ñакже позволÑÐµÑ ÑзнаÑÑ Ð¾ возможноÑÑи оÑпÑавки ÑообÑений. РабоÑа Ñ push-ÑообÑениÑми наÑинаеÑÑÑ Ñ ÑÑого ÑвойÑÑва ÑеÑвиÑ-воÑкеÑа.
ServiceWorkerGlobalScope.onpush
ÐбÑабоÑÑик ÑобÑÑий, ÑÑабаÑÑÐ²Ð°ÐµÑ Ð²ÑÑкий Ñаз, когда пÑоиÑÑ
Ð¾Ð´Ð¸Ñ ÑобÑÑие push
; Ñо еÑÑÑ Ð¿Ñи полÑÑении push-ÑообÑений Ð¾Ñ ÑеÑвеÑа.
ServiceWorkerGlobalScope.onpushsubscriptionchange
ÐбÑабоÑÑик ÑобÑÑий, ÑÑабаÑÑÐ²Ð°ÐµÑ Ð²ÑÑкий Ñаз, когда пÑоиÑÑ
Ð¾Ð´Ð¸Ñ ÑобÑÑие pushsubscriptionchange
; бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ в ÑиÑÑаÑиÑÑ
, когда подпиÑка бÑла пÑоÑÑоÑена или воÑ-Ð²Ð¾Ñ Ð±ÑÐ´ÐµÑ Ð¿ÑоÑÑоÑена (пÑи ÑÑловии, ÑÑо Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñки бÑл Ñказан ÑÑок дейÑÑвиÑ).
Ðа ÑайÑе-инÑÑÑÑкÑии по ÑабоÑе Ñ ÑеÑвиÑ-воÑкеÑами Ð¾Ñ Mozilla Ð²Ñ Ð½Ð°Ð¹Ð´ÑÑе множеÑÑво пÑимеÑов иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Push API.
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами api.PushEvent api.PushMessageData СмоÑÑиÑе ÑакжеRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4