繁体   English   中英

从内容脚本触发Chrome扩展程序通知

[英]Trigger Chrome extension notifications from content script

我目前正在尝试这样做,所以我的扩展程序会在调用时显示通知。

单击图标时,background.js会在页面中执行脚本。 这是我的background.js文件的样子:

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的部分除外)使用由其扩展名页面定义的变量或函数使用由网页或其他内容脚本定义的变量或函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM