我正在尝试打印reactjs模式的内容。我在模态中嵌入了一个url,并希望打印带有这些内容的模态。以下是我的代码
<Modal.Body>
<div>
<object id="printableArea" type="text/html" data="http://www.xyztest.net/obj.html" className="objectClass">
</object>
</div>
</Modal.Body>
我的打印按钮功能
handleToggle: function (divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
这不会打印对象标签的网址内容..请让我知道如何实现这一点..我不想使用iframe
答案 0 :(得分:0)
弹出窗口可能是一种更简单,更可靠的解决方案。假设divName
指的是<object>
标记,您可以执行以下操作:
handleToggle: function (divName) {
var url = document.getElementById(divName).getAttribute('data');
var win = window.open();
win.document.write('<iframe style="width:100%;height:100%;padding:0px;margin:0px;" src="'+url+'" frameborder=0></iframe');
setTimeout(function(){
win.window.print()
}, 1000);
}
这会打开一个空白的弹出窗口,写一个iframe并将src设置为你的url。然后等待一秒钟以加载页面并触发打印