通过 JavaScript 打印网页的子集
Printing a subset of a web page via JavaScript
可以通过JS只打印DOM的一部分吗?
如果唯一的方法是指定打印样式表,我认为打印样式表可以在浏览器打印功能调用之前立即动态应用?
试一试:
self.printDomElement = function(selector) {
var newWindow = window.open("", "Test", "width=500,height=500,scrollbars=1,resizable=1");
var sectionOfDom = $(selector);
newWindow.document.open();
for (var i = 0; i < sectionOfDom.length; i++) {
newWindow.document.write(sectionOfDom[i].innerHTML);
}
newWindow.document.close();
newWindow.print();
newWindow.close();
};
编辑:根据我所读到的内容,iFrame只有在不违反同源策略的情况下才能工作。还有一种不同的方法可以访问 iFrame 的 innerHTML
属性,因此如果它是 iFrame,则必须具有条件才能以不同的方式访问它。
以下是处理 iframe 内容的编辑代码:
self.printDomElement = function(selector) {
var newWindow = window.open("", "Test", "width=500,height=500,scrollbars=1,resizable=1");
var sectionOfDom = $(selector);
newWindow.document.open();
for (var i = 0; i < sectionOfDom.length; i++) {
if ($(sectionOfDom[i]).is('iframe')) {
try {
newWindow.document.write(sectionOfDom[i].contentDocument.body.innerHTML);
} catch(err) {
console.log('Caught exception with message: [' + err.message + '] while trying to write content to print window.');
}
} else {
newWindow.document.write(sectionOfDom[i].innerHTML);
}
}
newWindow.document.close();
newWindow.print();
newWindow.close();
};
相关文章:
- 如何防止网页加载后自动启动功能
- 如何使用Node.js最有效地解析网页
- 刷新后保留对网页的更改
- AJAX不会在文件上传后重定向到网页-POST方法
- 使用谷歌网站翻译器自动翻译网页
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 仅重新加载网页的一部分
- 每次提交表单时都会重新加载网页
- 打开网页后立即获取网页的活动javascript函数
- 链接两个网页或网络应用程序的最佳方式
- Android键盘不适用于包含Javascript的网页
- 在Javascript中列出顺序子集元素
- 网页上失败的javascript会导致所有其他脚本失败
- 在网页上显示当前股票报价
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- 使用javascript替换网页上的文本
- 如何建立一个网页,检查我的路由器网络接口是否可以访问
- 我的点击登录在网页上不起作用
- 为什么这个jQuery可以作为一个小提琴工作,但在我的网页上没有
- 通过 JavaScript 打印网页的子集