2014-04-02 29 views
2

我試圖在Chrome中創建通知。 我已經寫了這個簡單的代碼,但在CHrome中顯示通知,而checkPermission()返回0通知HTML5在Chrome中是否在本地運行?

我做的事情與本網站(示例)相同,在我的Chrome瀏覽器中可以正常工作。

​​

問題在哪裏?

[編輯:問題固定]

事實上,我可以顯示在Chrome中設置的所有網站的通知,而現在,它工作正常!

enter image description here

回答

2

請求權限只在用戶手勢(見下文問題,從文檔報價)。

總之你需要註冊點擊事件或類似的東西然後請求權限。

document.querySelector('#show_button').addEventListener('click', function() { 
    if (window.webkitNotifications.checkPermission() == 0) { // 0 is PERMISSION_ALLOWED 

    var notification = window.webkitNotifications.createNotification(
     'icon.png', 'Notification Title', 'Notification content...'); 
     notification.show(); 
    } else { 
    window.webkitNotifications.requestPermission(); 
    } 
}, false); 

這裏有一個jsfiddle

Webkit notifications requestPermission function doesn't work
requestPermission請求用戶代理詢問用戶 許可顯示來自腳本的通知。在處理用戶手勢時應僅調用此方法 ;在其他情況下,它 將不起作用。這種方法是異步的。回調中提供的功能 將在用戶響應 權限請求時被調用。如果當前許可級別爲 PERMISSION_DENIED,則用戶代理可能不會響應 requestPermission而採取任何行動。

相關問題