夿³¨ï¼ æ¤ç¹æ§å¨ Web Worker ä¸å¯ç¨ã
Push API ç»ä¸äº Web åºç¨ç¨åºæ¥æ¶ä»æå¡å¨ååºçæ¨éæ¶æ¯çè½åï¼æ 论 Web åºç¨ç¨åºæ¯å¦å¨ç¨æ·è®¾å¤åå°ï¼çè³åå è½½å®æãè¿æ ·ï¼å¼å人åå°±å¯ä»¥åç¨æ·ææ¾å¼æ¥éç¥åæ´æ°ï¼ä»èè®©ç¨æ·è½æ´åæ¶å°è·åæ°å 容ã
Push çæ¦å¿µåç¨æ³å¯¹äºä¸ä¸ªåºç¨æ¥è¯´ï¼è¦æ³è¦æ¥æ¶å°æ¨éæ¶æ¯ï¼éè¦æä¸ä¸ªæ¿æ´»ç service workerãå½ service worker å¤äºæ¿æ´»ç¶ææ¶ï¼å¯ä»¥ä½¿ç¨ PushManager.subscribe()
æ¥è®¢é
æ¨ééç¥ã
è¿åç PushSubscription
å
å«äºæå
³åºç¨éè¦åéçæ¨éæ¶æ¯çææä¿¡æ¯ï¼ç«¯ç¹ååéæ°æ®éè¦çå å¯å¯é¥ã
Service worker ä¼å¨å¿
è¦çæ¶åå¯å¨å¹¶æ¥æ¶ä¼ å
¥çæ¨éæ¶æ¯ï¼å°å
¶ä¼ éç» onpush
äºä»¶å¤çå¨ãè¯¥æ¹æ³å
许åºç¨ç¨åºå¨æ¥æ¶å°æ¨éæ¶æ¯æ¶ä½åºååºï¼ä¾å¦æ¾ç¤ºä¸æ¡éç¥ï¼ä½¿ç¨ ServiceWorkerRegistration.showNotification()
ï¼ã
æ¯ä¸ä¸ªè®¢é 对 service worker æ¥è¯´é½æ¯å¯ä¸çãåæ¶è®¢é ç端ç¹ä¹æ¯ä¸ä¸ªå¯ä¸çåè½æ§ URLï¼ç«¯ç¹çä¿¡æ¯æ¯ç»åºç¨åéä¿¡æ¯çå ¨é¨å¿ è¦æ¡ä»¶ãæä»¥ç«¯ç¹å°åéè¦ä¿å¯ï¼å¦åå ¶ä»åºç¨ä¹å¯ä»¥åä½ çåºç¨æ¨éæ¶æ¯ã
æ¿æ´»ä¸ä¸ª service worker æ¥æä¾æ¨éæ¶æ¯ä¼å¯¼è´èµæºæ¶èçå¢å ï¼å°¤å ¶æ¯çµæ± ãä¸åçæµè§å¨å¯¹æ¤æä¸åçæ¹æ¡ââç®å为æ¢è¿æ²¡ææ åçæºå¶ãFirefox å 许对åéç»åºç¨çæ¨éæ¶æ¯åæ°ééå¶ï¼é é¢ï¼ï¼ä½çæéç¥çæ¨éæ¶æ¯ä¸åæ¤éå¶ã该éå¶ä¼å¨ç«ç¹æ¯ä¸æ¬¡è¢«è®¿é®ä¹åå·æ°ãç¸æ¯ä¹ä¸ï¼Chrome éæ©ä¸ä½éå¶ã
æ¥å£PushEvent
表示åéå° ServiceWorker
å
¨å±å
¨å±ä½ç¨åçæ¨éæä½ãå®å
å«äºä»åºç¨ç¨åºåéå° PushSubscription
çæ¶æ¯ã
PushManager
æä¾ä¸ç§ä»ç¬¬ä¸æ¹æå¡å¨æ¥æ¶éç¥åç¨äºæ¨ééç¥çè¯·æ± URL çæ¹æ³ã
PushMessageData
æä¾å¯¹æå¡å¨åéçæ¨éæ°æ®ç访é®ï¼å æ¬å¨æ¥æ¶æ°æ®æ¶å¯¹æ°æ®è¿è¡æä½çæ¹æ³ã
PushSubscription
æä¾ä¸ä¸ªè®¢é çç«¯ç¹ URLï¼å¹¶å è®¸åæ¶æ¨éæå¡ç订é ã
PushSubscriptionOptions
è¡¨ç¤ºä¸æ¨é订é ç¸å ³èçé项ã
以ä¸éå å° Service Worker API çå å®¹å·²å¨ Push API è§èä¸å®ä¹ï¼ä»¥æä¾ä½¿ç¨æ¨éæ¶æ¯çå ¥å£ç¹ãå®ä»¬ç¨äºçå¬åååºæ¨éåè®¢é æ¹åçäºä»¶ã
ServiceWorkerRegistration.pushManager
åªè¯»
è¿å对 PushManager
æ¥å£çä¸ä¸ªå¼ç¨ï¼è¯¥æ¥å£ç¨äºç®¡ç push 订é
ï¼å
æ¬ï¼è®¢é
ãè·åä¸ä¸ªæ´»è·ç订é
ãè·å push æéçç¶æãè¿æ¯ä½¿ç¨æ¥æ¶æ¨éæ¶æ¯è½åçå
¥å£ç¹ã
onpush
ä¸ä¸ªå¨ push
äºä»¶è¢«è§¦åæ¶ï¼å³æ¶å°æå¡å¨çæ¨éæ¶æ¯æ¶ï¼çäºä»¶å¤çå¨ã
onpushsubscriptionchange
ä¸ä¸ªå¨ pushsubscriptionchange
äºä»¶è¢«è§¦åæ¶ï¼ä¾å¦ï¼æ¨éæå¡å¨è®¾ç½®äºè¿ææ¶é´ï¼å èé ææ¨é订é
å·²ç»æå³å°å¤±æï¼çäºä»¶å¤çå¨ã
Mozilla ç ServiceWorker Cookbook ä¸å å«äºè®¸å¤å ³äº Push æç¨ç示ä¾ã
è§è æµè§å¨å ¼å®¹æ§ 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