2013-11-26 115 views
3

編輯:我找到了實現Safari瀏覽器推送通知的解決方案,並在博客上講述的過程:http://samuli.hakoniemi.net/how-to-implement-safari-push-notifications-on-your-website/window.safari.pushNotification.requestPermission總是返回「拒絕」

...當點擊「訂閱」,它應在OSX 10.9.x上爲Safari 7.x啓用推送通知。

推送通知適用於http://www.macrumors.com/他們實施它的地方。然而,在我自己的測試網站上,如果沒有Safari甚至提示它,我總是會被拒絕作爲許可的結果。

所以:我沒有得到任何允許推送通知的提示,只是回撥permissionData.denied

我發現這個問題從SO類似的問題: Safari push notifications return denied without asking

但遺憾的是它並沒有給我任何意見。

+0

我得到一個「Safari無法連接到服務器」的錯誤嘗試訪問https://www.hakoniemi.net/labs/push – Nick

+0

@Nick時:這聽起來很「好」 - 因爲HTTPS:當前未在服務器上受支持。所以你真的看到了提示,並在允許你收到通知後? – zvona

+0

我想我解決了這個問題 - 由於端點不是https並且沒有提供正確的內容,因此端點無效。 起初我是根據假設.requestPermission()不接觸到服務器,但只有瀏覽器的API,它提示用戶。但實際上它確實如此。 – zvona

回答

2

當請求權限時,瀏覽器會聯繫下載您網站的推送包的端點。該端點是restFUL,並且必須運行「https」。自簽名SSL證書不起作用。此外,推送包必須對用戶提示有效。我的建議是讓日誌記錄端點正常工作,以便至少知道發生了什麼以及它失敗的位置。