Kopieren Sie den Inhalt des Div in einen neuen Iframe
P粉042455250
P粉042455250 2023-08-17 17:03:59
0
1
353

Letztendlich versuche ich eine Technik, die einen bestimmten div ausgibt, aber ich bleibe bei diesem Teil der Frage hängen.

Ich habe Code, der von einem div in einen neuen iframe kopiert werden soll:

var iframe = document.createElement('iframe'); var div = document.querySelector('div#sidebar'); var content = div.innerHTML; iframe.srcdoc = `
${content}`; document.body.append(iframe); iframe.contentWindow.print();

Ich habe dies in den Entwicklertools auf der SO-Seite versucht (ich könnte es mit div#sidebar versuchen).

Mir ist aufgefallen, dass ich dem Dokument iframe hinzufügen muss, damit dies funktioniert. Andernfalls ist die Eigenschaft .contentWindow null.

Der

code scheint einigermaßen zu funktionieren, aber der iframe ist leer oder scheint leer zu sein. Der endgültige Ausdruck ist leer.

Irgendwelche Tipps zum Erstellen eines neuen iframe

P粉042455250
P粉042455250

Antworte allen (1)
P粉306523969

好的,我有一个答案。我应该更加了解,因为我刚刚完成了一个类似主题的教学。

代码是有效的,但是它运行得太早了。我需要等待文档加载完成。

这是一个可行的版本:

var iframe = document.createElement('iframe'); var div = document.querySelector('div#sidebar'); var content = div.innerHTML; iframe.srcdoc = `
${content}`; document.body.append(iframe); // 等待iframe加载完成: iframe.onload = () => { iframe.contentWindow.print(); iframe.contentWindow.addEventListener('afterprint', event => { iframe.remove(); }); };
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!