2014-02-18 120 views
-1

我正在開發google chrome中的擴展。我想在當前活動選項卡中加載任何新頁面時顯示桌面通知。當新頁面在Chrome擴展中加載時顯示通知

但我寫的代碼無法正常工作。

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo) { 
    if (changeInfo.status === 'complete') { 
    chrome.tabs.executeScript(tabId, {  
     chrome.notifications.create(‘id1’, { 
     type: ‘basic’, 
     iconUrl: ‘icon.png’, 
     title: ‘Review Baed Surfing’, 
     message: ‘Check URL now by clicking FAKE URL icon infront on Address Bar!’, 
     priority: 0 
     }, 
     function() { /* Error checking goes here */} 
    );   
    }); 
    } 
}); 
+0

您是否在控制檯中看到任何錯誤?請檢查背景頁面上的控制檯。 – sachinjain024

+1

這些不是正確的引號字符。不知道這是否是一個複製粘貼錯誤。 '類型:「basic''應該是'類型:‘基本’' – jasonscript

+0

控制檯顯示錯誤附近‘chrome.notifications.create(’ 錯誤, 未捕獲的SyntaxError:意外的標記 – TrojanHorse

回答

0

[解決]

我做的代碼以下更改

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { 
if (changeInfo.status == 'complete' && tab.active) { 
    chrome.notifications.create('id1',{ 
    type: 'basic', 
    iconUrl: 'icon.png', 
    title: 'Review Baed Surfing', 
    message: 'Check URL now by clicking FAKE URL icon infront on Address Bar!', 
    priority: 0 
    }, 
    function() { /* Error checking goes here */} 
    ); 
    } 
}); 

現在它工作正常。

謝謝你,

1

我想你只需要調用chrome.notifications.create()的背景劇本和chrome.tabs.executeScript只接受文件的URL或代碼(CSS,JS)注入。

而且你可以檢查以下項目時通知不顯示預期:

  1. 添加「通知」中的manifest.json權限。

    "permissions": ["notifications"] 
    
  2. 通知API目前僅支持Windows,Chrome操作系統和Mac。

  3. 創建函數必須包括通知標題,消息和iconUrl的「選項」的參數。如果您錯過了其中的任何一個,豐富的通知將無法正常工作。

    var opt = { 
        type: "basic", 
        title: "Primary Title", 
        message: "Primary message to display", 
        iconUrl: "url_to_small_icon" 
    } 
    

希望這是有幫助的。

相關問題