这个想法是在页面上某处设置iframe内容,并通过隐藏原始内容仅打印该内容。
可以通过JavaScript在Ctrl+P事件启动时获取iframe内容,并通过CSS @media类型仅打印其内容来实现此目的。
HTML代码:
Current Content that the user see
CSS 代码:
@media screen {
#dummy_content {
display:none; /* hide dummy content when not printing */
}
}
@media print {
#dummy_content {
display:block; /* show dummy content when printing */
}
#content_wrapper {
display:none; /* hide original content when printing */
}
}
JavaScript代码:
var dummyContent = document.getElementById("dummy_content");
function beforePrint() {
var iFrame = document.getElementById("myIframe");
dummyContent.innerHTML = iFrame.contentWindow.document.body.innerHTML; // populate the dummy content (printable) with the iframe content
}
document.onkeydown = function(e) {
if (e.ctrlKey && e.keyCode == 80) {
beforePrint();
}
}