我有一個模式,首先詢問用戶是否想要接收特殊優惠,如果他們點擊是,然後我拉入推送通知的代碼,以便他們可以允許通知。如果他們已經允許通知,我不希望模式彈出。我正在尋找一種方法來檢查通知是否已被用戶允許使用谷歌瀏覽器。如何檢查谷歌瀏覽器中的用戶是否已經允許通知?
2
A
回答
4
檢查通知對象的permission
屬性:
if (Notification.permission !== "granted") {
// ask for permission
1
除了Notification.permission
通過Denys Séguret作爲回答有更新的,較差的支持,但更普遍的Permissions API.
下面是一個簡單的使用例子,基於上the one from MDN:
function handlePermission() {
return navigator.permissions
.query({name:'notifications'})
.then(permissionQuery)
.catch(permissionError);
}
function permissionQuery(result) {
console.debug({result});
var newPrompt;
if (result.state == 'granted') {
// notifications allowed, go wild
} else if (result.state == 'prompt') {
// we can ask the user
newPrompt = Notification.requestPermission();
} else if (result.state == 'denied') {
// notifications were disabled
}
result.onchange =() => console.debug({updatedPermission: result});
return newPrompt || result;
}
////
handlePermission();
+0
謝謝!我也會記住這一點。 – cmac
相關問題
- 1. 如何檢查,並告知用戶已經在瀏覽器
- 2. 檢查用戶是否已經通過谷歌API登錄oauth2
- 3. 書籤允許谷歌瀏覽器
- 4. 檢查用戶是否通過wifi或(Android上的谷歌瀏覽器)連接
- 5. 谷歌瀏覽器中的HTML5通知
- 6. websockets是否允許p2p(瀏覽器到瀏覽器)通信?
- 7. 檢查用戶是否允許本地通知。 iOS 8. Obj-C
- 8. 檢查一下資源是否可用谷歌瀏覽器
- 9. VB.NET - 檢查瀏覽器的網址是否已經改變
- 10. 檢查瀏覽器是否已關閉
- 11. 檢查瀏覽器地理位置是否允許?
- 12. Jquery .Load Image,如何檢查圖像是否已經加載到瀏覽器中?
- 13. 如何檢查網站是否已經在網頁瀏覽器中打開?
- 14. 谷歌瀏覽器擴展程序:如何確定用戶是否已登錄Chrome瀏覽器?
- 15. 我如何知道用戶是否允許推送通知
- 16. 谷歌是否允許在無頭瀏覽器(PhantomJS)上加載它的庫?
- 17. 谷歌瀏覽器檢查元素
- 18. 檢查Google Nearby是否已被允許
- 19. 如何檢查用戶的瀏覽器是否支持Google Caja?
- 20. 檢查用戶是否已經登錄?
- 21. 如何檢查用戶是否使用Android瀏覽器?
- 22. 谷歌查詢瀏覽器
- 23. 谷歌瀏覽器不允許YouTube上的iframe高度
- 24. 如何檢查XMPP谷歌瀏覽器調用
- 25. webservice如何檢查用戶是否被允許查看項目?
- 26. 如何檢查是否允許彈出窗口在客戶端的瀏覽器中顯示?
- 27. 檢查用戶是否使用位於中國的瀏覽器
- 28. 谷歌地圖API - 如何檢查瀏覽器的兼容性?
- 29. 谷歌瀏覽器如何檢查存儲的會話
- 30. 是否可以查看谷歌瀏覽器開發者工具中websocket已經使用了多少帶寬?
謝謝!完美的作品。 – cmac
另外,Notification.permission!==「拒絕」。 – Satys