首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从页面上的chrome扩展加载图像

从页面上的chrome扩展加载图像
EN

Stack Overflow用户
提问于 2011-05-29 10:20:43
回答 5查看 14.1K关注 0票数 8

我在我的chrome扩展中有一些图片,我希望用户在使用这个扩展时能够插入到他们的页面中。

图片会显示在扩展弹出窗口中,但当用户单击按钮将它们注入页面时,页面由于某种原因无法访问/查看它们。我知道有一些特定的方法可以将JS和CSS注入到页面中(已经在这样做了),但我没有看到任何方法可以对图像做同样的事情。

我在清单中设置了以下权限(添加了chrome-extensions://一个希望这样做的人):

代码语言:javascript
复制
"permissions" : [ "tabs", "http://*/*", "https://*/*", "chrome-extension://*/*" ]

具体地说,我正在尝试更改favicon,就像这样(我也尝试过不使用前导/,而使用chrome.extension.getURL("favicons/example.png")):

代码语言:javascript
复制
  iconURL = "/favicons/example.png";
  var link = document.createElement("link");
  link.type = "image/x-icon";
  link.rel = "shortcut icon";
  link.href = iconURL;
  this.removeLinkIfExists();
  this.docHead.appendChild(link);

如果iconURL是一个完全限定的http://地址...

您可以在我的github repo here (favicon.js第54行,由tabdisplay.js第260行调用)上看到实际的代码。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-29 11:27:54

而不是:

代码语言:javascript
复制
iconURL = "/favicons/example.png";

它应该是:

代码语言:javascript
复制
iconURL = chrome.extension.getURL("/favicons/example.png");

返回扩展名文件夹内文件的绝对URL。

还要从清单中删除chrome-extension://*/*,因为它不做任何事情。

票数 15
EN

Stack Overflow用户

发布于 2012-08-23 12:47:58

如果人们在Chrome17或更高版本上遇到这个问题,这是因为清单必须包括web_accessible_resources部分,以便将扩展中打包的图像注入到网页中。

票数 21
EN

Stack Overflow用户

发布于 2017-08-28 18:37:16

您也可以从CSS使用,请确保将此图像也添加到清单中。

代码语言:javascript
复制
"web_accessible_resources": [

CSS内部:

代码语言:javascript
复制
background-image: url("chrome-extension://__MSG_@@extension_id__/image.png");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6165590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档