【发布时间】:2020-01-13 07:38:51
【问题描述】:
我的 chrome 扩展程序中有一些图像,我希望用户在使用扩展程序时能够将它们注入到他们的页面中。
图像将显示在扩展弹出窗口中,但是当用户单击按钮将它们注入页面时,页面由于某种原因无法访问/查看它们。我知道有一些特定的方法可以将 JS 和 CSS 注入页面(已经这样做了),但我没有看到任何方法可以对图像做同样的事情。
我在清单中设置了以下权限(添加了 chrome-extensions:// 一个希望这样做):
"permissions" : [ "tabs", "http://*/*", "https://*/*", "chrome-extension://*/*" ]
具体来说,我正在尝试更改 favicon,有点像这样(我也尝试过不使用前导 /,并使用 chrome.extension.getURL("favicons/example.png")):
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 行调用)。
【问题讨论】:
-
默认情况下应该允许从扩展访问文件。您是如何尝试加载它们的,您会收到哪些类型的错误消息(如果有)?
-
没有错误,只是没有任何反应。它就在那里。