P粉3065239692023-08-18 12:19:00
好的,我有一個答案。我應該更了解,因為我剛完成了一個類似主題的教學。
程式碼是有效的,但是它運行得太早了。我需要等待文檔載入完成。
這是一個可行的版本:
var iframe = document.createElement('iframe'); var div = document.querySelector('div#sidebar'); var content = div.innerHTML; iframe.srcdoc = `<!DOCTYPE html><html><head></head><body>${content}</body></html>`; document.body.append(iframe); // 等待iframe加载完成: iframe.onload = () => { iframe.contentWindow.print(); iframe.contentWindow.addEventListener('afterprint', event => { iframe.remove(); }); };