如何从内容脚本访问Chrome扩展程序的图标

时间:2018-10-23 22:18:22

标签: google-chrome-extension

在我的Chrome扩展程序的内容脚本中,我试图修改网站的图标,以(临时)将其设置为扩展程序的图标。但是,我无法从内容脚本中找出引用扩展程序图标的正确方法。我尝试过:

    favicon.href ='/images/icon-38.png';
    console.log("set href of favicon to " +favicon.href);

但是favicon.href的值最终相对于我所在的网站而言,例如:set href of favicon to https://twitter.com/images/icon-38.png

来自manifest.json:

"icons": {
  "16": "images/icon-16.png",
  "38": "images/icon-38.png"
},

在我的后台脚本中,我当然可以使用它们的相对路径来引用我的图标...但是如何从内容脚本中做到这一点?

2 个答案:

答案 0 :(得分:1)

这应该为您工作

chrome.extension.getURL('images/icon-38.png')

答案 1 :(得分:0)

您需要将图标指定为web_accessible_resources

"icons": {
  "16": "images/icon-16.png",
  "38": "images/icon-38.png"
},
"web_accessible_resources": [
  "images/icon-16.png",
  "images/icon-38.png"
],

然后使用chrome.runtime.getURL(从Chrome 58开始不推荐使用chrome.extension.getURL

chrome.runtime.getURL('images/icon-16.png');
chrome.runtime.getURL('images/icon-38.png');