js 打印iframe中的内容
时间: 2023-11-02 22:21:17 浏览: 156
JavaScript打印iframe内容示例代码
如果你想打印一个 `<iframe>` 中的内容,可以通过以下步骤实现:
1. 获取 `<iframe>` 元素的引用。你可以使用 `document.getElementById()` 或 `document.querySelector()` 方法来获取 `<iframe>` 元素的引用。
2. 等待 `<iframe>` 中的内容加载完成。你可以监听 `<iframe>` 元素的 `load` 事件来确保内容已经加载完成。
3. 获取 `<iframe>` 中的文档对象。你可以使用 `<iframe>` 元素的 `contentDocument` 属性来获取 `<iframe>` 中的文档对象。
4. 获取需要打印的内容。你可以使用文档对象的 `getElementById()` 或 `querySelector()` 方法来获取需要打印的内容。
5. 使用 `window.print()` 方法打印内容。在打印之前,你可以对需要打印的内容进行一些样式或者格式的修改。
以下是一个示例代码:
```javascript
// 获取 <iframe> 元素的引用
const iframe = document.getElementById('my-iframe');
// 等待内容加载完成
iframe.addEventListener('load', () => {
// 获取文档对象
const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
// 获取需要打印的内容
const content = iframeDoc.getElementById('print-content');
// 修改样式或格式
// 打印内容
window.frames['my-iframe'].focus();
window.frames['my-iframe'].print();
});
```
需要注意的是,由于浏览器的安全限制,你只能打印来自同一域名下的 `<iframe>` 中的内容。如果 `<iframe>` 中的内容来自不同的域名,你将无法访问其文档对象。
阅读全文