Открывать все ссылки внутри имени класса X в виде фреймов - PullRequest
0 голосов
/ 10 ноября 2019

Я очень новичок в javascript, поэтому, пожалуйста, будьте подробны в ответе для новичка. Я пытаюсь создать скрипт, который я могу использовать на любом сайте, с небольшими правками для каждого, который позволяет добавлять все фреймы iframe на страницу во всех экземплярах класса. URL для iframes будет основан на ссылке в классе.

Фактический вариант использования, который я имею в виду, чтобы добавить кнопку «Избранное» к миниатюре сайтов, которые позволяют вам добавлять любимый контент. Таким образом, вы знаете, что добавили в избранное содержание без необходимости нажимать на ссылку, чтобы узнать. Но для этого мне нужно иметь возможность зайти по ссылке и проверить, была ли она в избранном. Поэтому я подумал, что iframes были бы идеальными. Если есть лучший способ сделать это, то, пожалуйста, сообщите.

Ниже приведен беспорядок в коде, который я в настоящий момент собираем вместе, но цикл for для открытия и iframe в каждом элементе класса не работает по некоторым причинам и функциям. part2 на самом деле не работает, если я не наберу его в консоли отдельно от кода part1. (я использую imgur в качестве полигона для тестирования, а значок в твиттере - как кнопку, которая будет любимой на других сайтах)

var iframe = document.createElement('iframe');
iframe.className="c-iframe";
iframe.style.display = "block";
iframe.style.width = "50px";
iframe.style.height = "50px";
iframe.style.overflow = "hidden";
iframe.style.scrolling = "no";
iframe.src = "https://imgur.com/gallery/4pnNsXj";

function part1(callback){
var fav = document.getElementsByClassName("Post-item");
console.log(fav);

for(var i = 0; i < fav.length; i++)
{
    console.log(fav[i]);
    fav[i].insertBefore(iframe, fav[i].childNodes[0]);
}

var sticky = document.getElementsByClassName("like_icon");
}

function part2(){
var elmnt = iframe.contentWindow.document.getElementById("topbar");
var elmnt2 = iframe.contentWindow.document.getElementsByClassName("icon-twttr");
var elmnt3 = iframe.contentWindow.document.getElementsByTagName("body");
console.log(elmnt2);
elmnt2[0].style.position = "absolute";
elmnt2[0].style.top = "0px";
elmnt2[0].style.left = "0px";
elmnt3[0].style.overflow = "hidden";
elmnt.parentNode.removeChild(elmnt);
}

part1(part2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...