«документ» против «content.document»

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

var domBody = content.document.getElementsByTagName("BODY").item(0);

и создаю новые элементы через

var newDiv = content.document.createElement("div");

, и на самом деле все работало достаточно хорошо. Но проблемы возникли, когда я добавил кнопку с атрибутом onclick. Пока кнопка отображается правильно, выдает ошибку. Я уже спросил здесь , и ответ с помощью document.createElement () (без содержимого) работает.

Но если я удалю «содержимое». везде начинаются настоящие неприятности. Во-первых, domBody имеет значение null / undefined, независимо от того, как я пытаюсь получить к нему доступ, например document.body (На самом деле я добавляю все элементы _после_ полной загрузки документа. По крайней мере, мне так кажется). А во-вторых, все остальные элементы выглядят иначе. Похоже, информация о стиле, например element.style.width = "300px", больше не рассматривается.

Короче говоря, с 'content.document' все выглядит хорошо, но button.onclick бросает ошибка.только с «документом» кнопка работает, но элементы больше не отображаются правильно. Кто-нибудь видит для этого решение.

5
задан Community 23 May 2017 в 12:26
поделиться