gpt4 book ai didi

javascript - 在 firefox 附加面板中显示远程图像

转载 作者:行者123 更新时间:2023-11-29 15:29:40 25 4
gpt4 key购买 nike

我正在尝试在 FireFox 附加面板中显示远程图像,但是 src 属性正在从类似这样的内容转换而来:

http://example.com/image.jpg

像这样:

resource://addon_name/data/%22http://example.com/image.jpg%22

我不知道我是否违反了安全策略。

在我的附加脚本 (index.js) 中,我使用 sdk/request API 检索图像 URL,并将它们传递到我的内容脚本 (data/my-panel.js)。我的 data/my-panel.js 文件正在我的面板文件 (data/popup.html) 中创建 DOM 元素——包括图像——使用从 index.js 传递的 URL。以下是相关的代码:

index.js

var Request = require("sdk/request").Request;
var panel = require("sdk/panel").Panel({
width: 500,
height: 500,
contentURL: "./popup.html",
contentScriptFile: "./my-panel.js"
});
Request({
url: url,
onComplete: function(response) {
// Get the JSON data.
json = response.json;
// Launch the popup/panel.
panel.show();
panel.port.emit("sendJSON", json);
}
}).get();

data/my-panel.js

var title;
var desc;
var list;
var titleTextNode;
var descTextNode;

self.port.on("sendJSON", function(json) {

json.docs.forEach(function(items) {
title = JSON.stringify(items.sourceResource.title);
desc = JSON.stringify(items.sourceResource.description);
img = JSON.stringify(items.object);
console.log(img);
var node = document.createElement("li"); // Create a <li> node
var imgTag = document.createElement("img"); // Create a <img> node
imgTag.setAttribute('src', img);
imgTag.setAttribute('alt', desc);
imgTag.style.width= '25px';
titleTextNode = document.createTextNode(title);
descTextNode = document.createTextNode(desc);
node.appendChild(titleTextNode); // Append the text to <li>
node.appendChild(descTextNode); // Append the text to <li>
document.getElementById("myList").appendChild(node); // Append <li> to <ul> with id="myList"
document.getElementById("myImgs").appendChild(imgTag);
});
});

console.log(img) 行正确显示了 URL,但不是在 popup.html 中...

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<ul id="myList"></ul>
<p id="myImgs"></p>
</body>
</html>

如何使图像的 src 属性直接指向远程 URL?谢谢!

最佳答案

我发现我做错了什么。在 img URL 上使用 JSON.stringify() 是在其周围添加双引号。删除它修复了图像:

img = items.object;

关于javascript - 在 firefox 附加面板中显示远程图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36000110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com