Javascript 从内容脚本触发Chrome扩展通知
我目前正在尝试这样做,我的扩展将显示一个通知时,呼吁这样做 单击图标时,background.js将在页面中执行脚本。这就是我的background.js文件的外观:Javascript 从内容脚本触发Chrome扩展通知,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我目前正在尝试这样做,我的扩展将显示一个通知时,呼吁这样做 单击图标时,background.js将在页面中执行脚本。这就是我的background.js文件的外观: chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.executeScript(null,{file: "buy.js"}); } ); chrome.extension.onRequest.addListener( funct
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null,{file: "buy.js"});
}
);
chrome.extension.onRequest.addListener(
function (request, sender, sendResponse) {
var notify = webkitNotifications.createNotification(
'face.png',
'Item Sniped!',
'Item sniper sniped an item!'
);
notify.show();
}
);
是的,我在manifest.json中设置了所有权限。我的清单文件:
{
"manifest_version": 2,
"name": "Sniper",
"version": "1.5",
"description": "Sniper",
"browser_action": {
"default_icon": "face.png",
"default_title": "Limited Sniper"
},
"background": { "scripts": ["background.js"] },
"permissions": [
"notifications",
"tabs",
"http://*/*"
]
}
我知道我的background.js文件中需要一个监听器,但甚至可以从buy.js(执行的脚本)向background.js发送请求以发出通知吗?是的。内容脚本无法执行某些操作 因此,您必须向background.js发送请求才能发出通知。 如果您的通知有图标,请记住在manifest.json中注册它:
"web_accessible_resources":["face.png"]
但是,内容脚本有一些限制。他们不能:使用
chrome.*API(chrome.extension部分除外)使用变量或
由其扩展页定义的函数使用变量或
由网页或其他内容脚本定义的函数
请注意,这个问题中的很多信息都是过时的
webkitNotifications
已被弃用。