我正在开发谷歌浏览器的扩展程序。我想在当前活动标签页中加载任何新页面时显示桌面通知。
但是我的书面代码工作不正常。
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 :(得分:1)
我认为你只需要在后台脚本中调用chrome.notifications.create(),chrome.tabs.executeScript只接受文件url或代码(css,js)来注入。
当通知未按预期显示时,您可以检查以下项目:
向manifest.json中的权限添加“通知”。
"permissions": ["notifications"]
通知API目前仅支持Windows,Chrome操作系统和Mac。
create function的'option'参数必须包含通知标题,message和iconUrl。如果您错过了其中任何一个,那么丰富的通知将无法正常运行。
var opt = {
type: "basic",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon"
}
希望这有用。
答案 1 :(得分: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 */}
);
}
});
现在它正常运作。
谢谢,