Это мой первый пост, потому что у меня проблема с расширением Chrome.
Мне нужно добавить некоторые кнопки и прочее на страницу, используя скрипт контента. Но мой код:
function ModifyInsta() {
var root = {
img: document.getElementsByClassName("FFVAD"),
btn: document.getElementsByClassName("ltpMr Slqrh")
};
for (var i = 0; i < root.btn.length; i++) {
if (typeof root.btn[i].getElementsByClassName("btnInsta")[i] === 'undefined') {
chrome.storage.sync.get("OPTION", function(data) {
var img = document.createElement("img");
var space = document.createElement("a");
var txt1 = document.createTextNode("Download");
var txt2 = document.createTextNode("");
space.appendChild(txt2);
root.btn[i].appendChild(space);
img.appendChild(txt1);
root.btn[i].appendChild(img);
space.innerHTML = "  ";
space.setAttribute('style', "cursor: default; user-select: none")
if (data.OPTION == "download")
img.setAttribute('src', chrome.extension.getURL('download.png'));
else
img.setAttribute('src', chrome.extension.getURL('view.png'));
img.setAttribute('href', "#");
img.setAttribute('role', "button");
img.setAttribute('class', "btnInsta");
img.setAttribute('style', "cursor: pointer; user-select: none");
});
}
}
}
Хорошо работает в консоли на определенной странице, но не в скрипте содержимого. Там написано undefined
at root.btn[i].appendChild(space);
(«Ошибка в ответе на storage.get: TypeError: Невозможно прочитать свойство appendChild of undefined») ... Я действительно не знаю, что случилось. Каждый раз, когда мне требовалась помощь, я гуглял за нее ... но эту проблему, по-моему, невозможно гуглить.
Пожалуйста, помогите мне. Я перепробовал все
EDIT:
Часть HTML:
<section class="ltpMr Slqrh"><a class="fr66n tiVCN" href="#" role="button"><span class="Szr5J coreSpriteHeartOpen ">Páči sa mi to</span></a><a class="_15y0l OV9Wd" href="#" role="button"><span class="Szr5J coreSpriteComment">Komentovať</span></a><a class="wmtNn fscHb " href="#" role="button" aria-disabled="false"><span class="Szr5J coreSpriteSaveOpen ">Uložiť</span></a></section>