Javascript窗口。打开firefox/chrome问题

Javascript窗口。打开firefox/chrome问题,javascript,firefox,google-chrome,internet-explorer,window.open,Javascript,Firefox,Google Chrome,Internet Explorer,Window.open,我有一个应用程序打开弹出窗口打印页面 function printHTML(urlPath) { var printPopUp = window.open(urlPath,null,"height=600,width=777,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes"); printPopUp.print(); } 该脚本在IE中运行良好,但在firefox/chrome中运行良好。打印功能是重叠窗口

我有一个应用程序打开弹出窗口打印页面

function printHTML(urlPath) {
    var printPopUp = window.open(urlPath,null,"height=600,width=777,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
    printPopUp.print();
}
该脚本在IE中运行良好,但在firefox/chrome中运行良好。打印功能是重叠窗口。打开,因此当屏幕仍在加载时,打印对话框将首先显示。我需要关闭打印对话框,以便正确呈现页面,然后手动打印


请告知。

加载页面后运行打印,例如

printPopUp.onload = function() { printPopUp.print() }

未测试

我建议在加载到弹出窗口的页面中调用window.print,而不是在开场白中。

如您的评论所示,要打印的URL位于同一个域中。您无法访问其他窗口的内容,因此您必须在弹出的窗口上设置一些代码,该代码将调用打开程序,告知它已打开

popup.html

<script>
function onLoad() {
  if(window.opener && window.opener.popupLoaded) {
    window.opener.popupLoaded();  
  }
}
</script>
<html onload="onLoad();">

您将要打印的URL是否在同一个域中?不能,因为这是全局脚本,它在所有页面上共享。如果这样做,我需要在所有页面上复制代码。
function popupLoaded() {
  popup.print();
}