vue使用 window.open打开新窗口在新窗口打印
时间: 2024-10-01 17:06:04 浏览: 35
在Vue中,你可以通过`window.open()`函数创建一个新的浏览器窗口,并使用`target`属性指定这个新的窗口。如果你想要在新窗口中打印内容,通常会在新窗口加载完成后,向其中插入一个iframe,然后在这个iframe中执行打印操作。这里是一个简单的示例:
```javascript
// 创建新窗口
const newWindow = window.open('', '_blank', 'width=800,height=600');
// 等待新窗口加载完成
newWindow.onload = function() {
// 在新窗口插入一个iframe
const iframe = document.createElement('iframe');
iframe.srcdoc = `
<html>
<head>
<script>
function printContent() {
window.print();
}
</script>
</head>
<body onclick="printContent()">
<!-- 这里可以添加你需要打印的内容 -->
<p>这是要打印的文字</p>
</body>
</html>
`;
// 将iframe添加到新窗口
newWindow.document.body.appendChild(iframe);
};
// 如果你想直接在新窗口打印文本,也可以这样做(但这需要目标页面支持)
newWindow.print = function(text) {
newWindow.document.write('<h1>' + text + '</h1>');
newWindow.print();
};
```
请注意,上述代码仅供参考,实际应用可能需要处理更多边缘情况,例如用户取消打印等。
阅读全文