0

我有一个 chrome 扩展,它使用内容脚本将 JavaScript 注入页面,我希望该脚本将 SVG 图像添加到页面。这是我正在使用的代码:

var url = chrome.extension.getURL('infotip.svg');
$('#elementId').append('<embed src="' + url +
    '" type="image/svg+xml" style="display: block; float: right;" />');

当我检查生成的 DOM 时,SVG 文件的 URL 设置正确(我可以在元素检查器的新选项卡中打开它并且它可以工作)但在实际页面中,而不是 SVG,我得到一个带有 Chrome 警告的框:

位于chrome-extension://invalid/的网页可能暂时关闭,或者它可能已永久移动到新网址。

错误 2 (net::ERR_FAILED):未知错误。

我已经尝试按照W3Schools甚至 <img> 使用 <embed> 和 <object>。有任何想法吗?

4

1 回答 1

1

您必须在 manifest.json 中添加 Web 可访问资源

{
    "web_accessible_resources": [
        "infotip.svg"
    ]
}

参考:web_accessible_resources在 chrome 扩展中插入图像

于 2021-12-17T00:35:09.593 回答