我有这个代码。
我想做什么: 我想将一些JavaScript注入网站。
在这个网站上,人们可以买到各种各样的东西。
因此,有缩略图和指向页面的链接,您可以在其中查看要查看的内容。在那里您可以找到电话号码。
我想添加一个带有Chrome扩展程序的按钮。此按钮从下一页获取电话号码,并向按钮添加一个onclick事件(onclick =“ tel:xxxx”)。
因此,我尝试创建iframe,该iframe可以在不打开每个页面的情况下加载页面。从那里获取电话号码。
但是我无法使其工作。
iframe已创建,但我看不到内容。始终是未定义的。
代码尚未准备好。您将看不到创建的按钮。我被iFrame困住了,我不确定该怎么做才能解决此问题。
到目前为止,我的代码:
let findeURL = (el) => {
let url = el.querySelectorAll("a")[0].href
console.log("url", url)
return url
}
let iframesErstellen = (el, i, url) => {
let iframe = document.createElement("iframe")
iframe.src = url
iframe.id = "iframe" + i
el.appendChild(iframe)
}
let findeIframeDOM = function (i) {
let getIframeContent = document.getElementById("iframe" + i)
console.log(getIframeContent)
let h1 = getIframeContent.contentWindow.document.getElementsByTagName("h1")[0]
console.log(h1)
}
window.setTimeout(findeIframeDOM(2), 4000);
let findeTelefon = (el) => {
let findeDts = document.querySelectorAll(".dl-horizontal dt")
findeDts.forEach(function (a, i) {
console.log(a, i)
if (a.innerHTML.indexOf("Name") !== -1) {
console.log("hat Name")
}
if (a.innerHTML.indexOf("Telefon") !== -1) {
console.log("hat Telefon")
}
})
}
let start = function (array) {
array.forEach(async function (el, i) {
await iframesErstellen(el, i, findeURL(el))
await findeTelefon(el)
await findeIframeDOM(i)
})
}
let device = document.location.host
let homepageAnzeigen = ".media-body.nw-desc"
let mobileAnzeigen = ".search-result-entry"
let findeAnzeigen = (querySelector) => {
let anzeigen = document.querySelectorAll(querySelector)
let array = Array.from(anzeigen)
console.log(array)
if (array.length > 0) {
start(array)
return
} else {
console.log("keine Anzeigen gefunden")
return
}
}
if (device === 'mobile.willhaben.at') {
console.log("mobile Seite")
findeAnzeigen(mobileAnzeigen)
} else {
console.log("desktop Seite")
findeAnzeigen(homepageAnzeigen)
}
let buttonErstellen = (el) => {
let button = document.createElement("input")
button.type = "button"
button.value = "A"
button.name = "willanrufen"
button.class = "anruf-button"
button.id = "iframe" + i + "-button"
button.onclick = function () {
console.log(url)
};
el.appendChild(button)
}