我正在使用以下代码打印文档:
function print(html) {
$('<iframe>', {
name: 'myiframe',
class: 'printFrame'
}).appendTo('body').contents().find('body').append(html);
window.frames['myiframe'].focus();
window.frames['myiframe'].print();
setTimeout(() => { $(".printFrame").remove(); }, 1000);
}
var html = '<head>' +
'<link rel="stylesheet" href="/static/css/main.css" type="text/css" media="print">' +
'<link rel="stylesheet" href="/static/css/vahan.css" type="text/css" media="print">' +
'</head>' +
'<body>' +
'<div>Test</div>' +
'</body>';
print(html);
问题是我看到的是纯html,没有应用任何css。肯定有一些简单的事情我搞不懂。有什么提示吗?
发布于 2018-07-13 04:47:35
在添加iframe之前,您需要首先将html附加到文档。
function print(html) {
// Add the html
document.innerHTML = html
// Append the iframe to the body
$('<iframe>', {
name: 'myiframe',
class: 'printFrame'
}).appendTo('body').contents();
window.frames['myiframe'].focus();
window.frames['myiframe'].print();
setTimeout(() = > {
$(".printFrame").remove();
}, 1000);
}
https://stackoverflow.com/questions/51314101
复制相似问题