Web推送允許網(wǎng)站給用戶發(fā)送新消息或更新內(nèi)容的通知。在 Firefox 運(yùn)行期間,被允許的網(wǎng)站可以向您的瀏覽器發(fā)送通知并將其顯示到屏幕上。用戶將很方便的允許或禁止某些通知,并且設(shè)置通知的顯示方式。
從版本 44 開(kāi)始, Firefox 在網(wǎng)站沒(méi)有加載的時(shí)候也可以實(shí)現(xiàn)屏幕通知。使用推送API( 一個(gè) W3C 標(biāo)準(zhǔn)) Firefox 接收到一條推送信息后能夠隨時(shí)顯示出來(lái)(如果用戶允許的話)。站點(diǎn)也可以不顯示通知信息而利用推送在后臺(tái)更新數(shù)據(jù)。如果你已經(jīng)給了一個(gè)站點(diǎn)發(fā)送通知的權(quán)限,它將同時(shí)也能夠使用推送API。您可以通過(guò)下列步驟設(shè)置站點(diǎn)的權(quán)限:
點(diǎn)擊圖標(biāo)
打開(kāi) 控制中心。點(diǎn)擊提示中的箭頭。
點(diǎn)擊 更多信息 打開(kāi)頁(yè)面信息窗口。
點(diǎn)擊 權(quán)限 標(biāo)簽頁(yè)。
在 發(fā)送通知 部分,選擇:總是詢問(wèn)、允許 或 阻止。如果選項(xiàng)灰顯,請(qǐng)取消勾選 使用默認(rèn) 旁邊的勾選框。
Web推送是一個(gè)能夠讓網(wǎng)站在未加載的情況下給你發(fā)送信息的可選特性。網(wǎng)站能夠以此向你發(fā)送通知或者在后臺(tái)更新數(shù)據(jù)。
比如,你可以在你最喜歡的購(gòu)物網(wǎng)站上訂閱通知,然后就能收到新的促銷或報(bào)價(jià)的通知。 你可以在各式各樣的網(wǎng)站上訂閱通知,有關(guān)音樂(lè)會(huì)的網(wǎng)站可能會(huì)通知你最喜歡的樂(lè)隊(duì)演出提醒,你允許了這個(gè)網(wǎng)站通知你。一周后你收到了一個(gè)提示信息告訴你樂(lè)隊(duì)正在巡演。
你只會(huì)收到來(lái)自你授權(quán)的站點(diǎn)的信息。
網(wǎng)站可以安裝一個(gè) Service Worker,這是一個(gè)只有有限功能的后臺(tái)頁(yè)面,能夠綁定推送服務(wù)。網(wǎng)站接下來(lái)就能夠通過(guò) Mozilla 的Web推送功能向你的瀏覽器發(fā)送推送信息,瀏覽器就會(huì)處理這條信息并把它顯示在屏幕上。
點(diǎn)擊提示信息就可以打開(kāi)網(wǎng)站,如果網(wǎng)站已經(jīng)加載了則會(huì)切換到該網(wǎng)站的標(biāo)簽頁(yè)。
得到授權(quán)的網(wǎng)站可以在未被加載的時(shí)候向你發(fā)送信息。站點(diǎn)向你發(fā)送而不顯示在屏幕上的信息條數(shù)被限制在一個(gè)最大值內(nèi)。超過(guò)限值的信息條數(shù)的網(wǎng)站的推送功能將會(huì)無(wú)法使用,用戶必須再次訪問(wèn)網(wǎng)站來(lái)重新訂閱。Web推送不直接允許網(wǎng)站根據(jù)你的IP地址做出反應(yīng)。
Firefox維持一條與推送服務(wù)的活動(dòng)連接,以隨時(shí)接收推送信息。這條連接將一直維持到 Firefox 退出。在我們的服務(wù)器上存儲(chǔ)了一個(gè)你的瀏覽器的隨機(jī)的身份標(biāo)識(shí)以及每個(gè)你授權(quán)的站點(diǎn)的隨機(jī)身份標(biāo)識(shí)。
在 Firefox 桌面版上,推送服務(wù)由 Mozilla 完成。Android 版的 Firefox 同時(shí)使用 Mozilla 的Web推送服務(wù)以及GCM云推送(Google’s Cloud Messaging ,中國(guó)大陸地區(qū)由于GFW的存在而幾乎不可用)來(lái)遞送通知。
不管哪個(gè)版本,推送信息將按照IETF規(guī)范進(jìn)行加密,并且只有你自己的 FireFox 能夠?qū)ζ溥M(jìn)行解密。密文會(huì)一直存儲(chǔ)在服務(wù)器上直到被遞送或到期。
在 Firefox 中 Web 推送總是選擇性的。網(wǎng)站沒(méi)有你的允許就不能向你推送信息。要令一個(gè)明確的網(wǎng)站停止向你推送信息:
點(diǎn)擊菜單按鈕
并點(diǎn)擊 選項(xiàng) 按鈕在隱私與安全面板,找到 權(quán)限 部分。
點(diǎn)擊通知旁邊的 設(shè)置... 按鈕。
選擇你不想再收到通知的站點(diǎn)。
點(diǎn)擊 移除站點(diǎn)。
要讓所有的站點(diǎn)停止向你發(fā)送推送信息,將以上步驟最后一步改為點(diǎn)擊移除全部站點(diǎn),而不需要選擇站點(diǎn)。這樣網(wǎng)站將無(wú)法向你發(fā)送信息,并且以后向你發(fā)信息的時(shí)候?qū)?huì)重新請(qǐng)求權(quán)限。
推送 API 規(guī)范說(shuō)明了如何創(chuàng)建一個(gè) Service Worker 以及發(fā)送推送信息。
如果一個(gè)網(wǎng)站告訴Firefox它想顯示通知,默認(rèn)情況下,F(xiàn)irefox會(huì)問(wèn)你是否授權(quán)。你可以設(shè)置Firefox自動(dòng)拒絕授權(quán)而無(wú)需詢問(wèn)。即使在這樣設(shè)置之后,你還是可以為你想要的站點(diǎn)顯示通知或推送的網(wǎng)站設(shè)置例外。
點(diǎn)擊菜單按鈕
并點(diǎn)擊 選項(xiàng) 按鈕選擇隱私與安全面板,下翻到權(quán)限部分.
點(diǎn)擊通知右邊的設(shè)置…按鈕。
勾選 禁止新的發(fā)送通知請(qǐng)求 并點(diǎn)擊保存更改。
聯(lián)系客服