所以我在我的扩展程序中使用SVG精灵,它在Firefox中运行,但Chrome阻止了资产,因为它是跨域的。
并将其列为可访问网络的资源
"web_accessible_resources": [
"svgs/*.svg"
],
我不明白为什么Chrome会阻止它。
要添加,我在<svg>
/ <use>
元素中使用SVG精灵。 Chrome似乎阻止了这种情况,至少在使用HTTPS的网站上是这样:
Unsafe attempt to load URL chrome-extension://ainfdhapdnpfbjbnjojoediompjnmkom/svgs/fa-regular.svg#clock
但是,Firefox不会以这种方式阻止使用SVG。我使用非SVG精灵文件测试了身体背景图像,如Savaratkar答案中所示,当Chrome阻止<svg>
/ <use>
元素中使用的SVG精灵时,该文件有效
答案 0 :(得分:0)
不,如果在web_accessible_resources
中登记了Chrome,则Chrome永远不会阻止SVG文件加载。
请检查以下内容:
web_accessible_resources
中提到的svg文件路径/正则表达式是正确的chrome.runtime.getURL
chrome.runtime.getURL
功能问题是chrome总是给出相同的错误信息:
(index):1 Denying load of chrome-extension://pdlmeiogifooojmjbihodmcehpmjghho/Takkun.svg. Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.
...针对与web_accessible_resources
相关的任何问题。
我有一些时间和怀疑,所以我在一个简单的chrome扩展测试它: https://github.com/sonalsavaratkar/chrome-extension-seed/tree/so-48393958
它将svg文件加载到body
的任何网页的background-image
元素。