/**
* 类转行内样式
* @param {Object} element
*/
const classToStyle = element => {
var eleArr = [element, ...element.querySelectorAll("*")];
var eleClone = element.cloneNode(true);
var eleCloneArr = [eleClone, ...eleClone.querySelectorAll("*")];
for (let index = 0; index < eleArr.length; index++) {
const element = eleArr[index];
const elementClone = eleCloneArr[index];
var style = window.getComputedStyle(element, null);
for (var k in style) {
if (isNaN(k) && k != "cssText" && k != "length") {
if (
style[k] == "0px" ||
style[k] == "none" ||
style[k] == "normal" ||
style[k] == "auto" ||
!style[k]
) {
delete elementClone.style[k];
} else {
elementClone.style[k] = style[k];
}
}
}
}
return eleClone;
};
/**
* 打印指定元素的内容
* @param {Object} element 打印元素
*/
const print = function(element) {
const { document } = window;
var iframe = document.createElement("IFRAME");
const elementClone = classToStyle(element);
iframe.frameborder = "0";
iframe.style = "display: flex;left: -10000000px;";
document.body.appendChild(iframe);
const iframeWindow = iframe.contentWindow;
const iframeDocument = iframe.contentWindow.document;
iframeDocument.body.appendChild(elementClone);
iframeWindow.print();
iframe.remove();
};
js利用iframe 实现打印
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...