Printing print()在opera浏览器上不工作
我正在尝试使用javascript在Opera浏览器中打开一个打印对话框。Printing print()在opera浏览器上不工作,printing,opera,Printing,Opera,我正在尝试使用javascript在Opera浏览器中打开一个打印对话框。 print()在所有浏览器中都可以正常工作,但在opera中却无法正常工作。 Myprint()code as var printContent = document.getElementById(elementId); var windowUrl = url; var uniqueName = new Date(); var windowName = 'Print' + uniqueName.getTime(); va
print()
在所有浏览器中都可以正常工作,但在opera中却无法正常工作。
Myprint()
code as
var printContent = document.getElementById(elementId);
var windowUrl = url;
var uniqueName = new Date();
var windowName = 'Print' + uniqueName.getTime();
var printWindow = window.open(windowUrl, windowName, 'scrollbars=yes');
printWindow.document.write(printContent.innerHTML);
printWindow.document.close();
printWindow.focus();
printWindow.print();
我想在Opera浏览器中打开“打印”对话框。有人能帮我吗?在Opera中,仅当页面已加载时才会显示打印对话框(请参阅cjrh注释中的链接),因此,在尝试打印时,您动态打开的窗口可能尚未完成加载。尝试替换此行:
printWindow.print();
printWindow.onload = printWindow.print;
这一行:
printWindow.print();
printWindow.onload = printWindow.print;
我认为这里发生了两件事:
window.addEventListener('load',函数(e){window.print();},false)
或window.onload=function(){window.print()}
我通过jQuery使用这个非常简单的函数解决了这个问题,而不是发布打印函数,您可以在代码中替换它,从而满足您对Opera和其他浏览器的需求
$(document).ready(function(){
if($.browser.opera){
window.print();
}
else printWindow.print();
});
我也有同样的问题,这是唯一对我有效的解决方案:
window.addEventListener('load', function(e) { window.print(); }, false);
11.60版构建1185
平台Win32
系统Windows XP
也许是复制品?你用的是哪个版本的歌剧?如果控制台中有错误消息,您会收到什么错误消息?print()通常在Opera中起作用(例如,尝试在Opera Dragonfly的命令行中使用它。)这似乎是window的问题。open()我将进一步检查。我使用的是Opera 12版本。如果我使用window.print()而不是printWindow.print();然后它可以在opera上运行,但不能在其他浏览器上运行。太棒了!非常感谢。