Изображение, созданное с помощью Javascript, не отображается - PullRequest
0 голосов
/ 02 августа 2011

Я пишу расширение для Firefox, которое добавляет изображения на текущую веб-страницу. Хотя это не должно быть проблемой, следующий фрагмент кода не работает. Я получил прямоугольник размером 50 на 50 пикселей, то есть границу изображения, но само изображение не отображается.

var img = document.createElement("img");
img.style.border = "1px solid #000";
img.style.width = "50px";
img.style.height = "50px";
img.setAttribute("src", "chrome://myExtension/content/images/add-icon.png");

Также не работает с изображениями из внешних результатов. Добавление div-окружений, похоже, работает. img.src = "..." ничего не меняет.

Я пытаюсь добавить изображение в div. После добавления div.length увеличился на 1. Так что как-то все работает, кроме изображения не отображается. Есть намеки?

Спасибо и всего наилучшего,

Christian

Ответы [ 2 ]

1 голос
/ 02 августа 2011
var body = content.document.getElementsByTagName("BODY").item(0);
var img = document.createElement("img");
img.src = "chrome://myExtension/content/images/add-icon.png";
var divBox = document.createElement("div");
divBox.appendChild(img);
body.appendChild(divBox); 

Как обсуждалось в комментариях, последовательно используйте «content.document» вместо того, чтобы смешивать «content.document» и «document».

1 голос
/ 02 августа 2011

Вы установили contentaccessible?

https://developer.mozilla.org/en/chrome_registration#contentaccessible

Требуется для того, чтобы сделать хромированные изображения и т. Д. Доступными из нехромного контента.

...