gpt4 book ai didi

javascript - 在应用文档样式之前调用 window.print 触发

转载 作者:行者123 更新时间:2023-11-30 10:05:51 28 4
gpt4 key购买 nike

我有一个带有打印功能的表格。在函数内部,我打开一个窗口,构建文档,添加带有样式表的头部,添加表单 HTML 并调用打印正文的最后一部分。问题是初始打印预览/打印不反射(reflect)样式。如果我取消打印并尝试手动打印,样式就会出现。我已经尝试了很多没有运气的方法来做到这一点。这似乎是一个时间问题。有什么想法吗?

浏览器是 Chrome。下面是JS函数。 (这注入(inject)了面部上下文)。

function printForm(windowTitle, path){
var printWindow = window.open();
var printDocument = printWindow.document;

var headHtml = "<link href='" + path + "/css/style.css' rel='stylesheet' type='text/css'/>";

printDocument.getElementsByTagName('head')[0].innerHTML = headHtml;

var printDiv = printDocument.createElement("DIV");
var formDiv = document.getElementById("formDiv");

printDiv.innerHTML = formDiv.innerHTML // Styling here is the issue
printDocument.body.appendChild(printDiv);

var scriptTag = printDocument.createElement("script");
var script = printDocument.createTextNode("print();");
scriptTag.appendChild(script);
printDocument.body.appendChild(scriptTag);

}

最佳答案

我认为您需要一个 setTimeout 来延迟打印一两秒,以便可以应用样式。您需要修改才能找到合适的长度。

关于javascript - 在应用文档样式之前调用 window.print 触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29217385/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com