Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Windows.print显示打印对话框,但在fire fox中打印空白页_Javascript_Firefox - Fatal编程技术网

Javascript Windows.print显示打印对话框,但在fire fox中打印空白页

Javascript Windows.print显示打印对话框,但在fire fox中打印空白页,javascript,firefox,Javascript,Firefox,我使用的是经典asp,在一个页面上我使用window.print方法打印页面。我使用的脚本显示“打印”对话框,在IE中可以很好地打印,但是使用FF它只打印一个空白页 如果我使用control+p在fire fox中打印页面,那么页面打印时不会出现问题,因此不会出现渲染问题 以下是我正在使用的脚本: function printform(url) { var windowReference = window.open(url, "Header", 'width=600,height=60

我使用的是经典asp,在一个页面上我使用window.print方法打印页面。我使用的脚本显示“打印”对话框,在IE中可以很好地打印,但是使用FF它只打印一个空白页

如果我使用control+p在fire fox中打印页面,那么页面打印时不会出现问题,因此不会出现渲染问题

以下是我正在使用的脚本:

function printform(url) {

    var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
    if (window.print)
        windowReference.print()
}
提前谢谢

这是多亏了普鲁士我才想到的解决办法

函数printformurl{

var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
if (window.print)
    if (navigator.appName == "Netscape") {

  windowReference.onload = function(){ windowReference.print(); } 
}
else {
    windowReference.print()
}

}

它停止工作,因为IE已经加载了文档,并且已经触发了onload事件。您可以检查文档是否已加载,只需调用print,如果未加载,则调用事件处理程序

function printform(url) {
    var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
    //if (window.print)
    //  windowReference.print();
    if (windowReference.print){
        var done = false;
        if (windowReference.document && windowReference.document.readyState){
            var rs = windowReference.document.readyState;
            if ((rs === 'complete') || (rs === 'loaded')){
                done = true;
                windowReference.print();
            }
        }
        if (!done){
            if (windowReference.addEventListener){
                windowReference.addEventListener('load', function(){ this.print(); });
            } else{
                windowReference.onload = function(){ this.print(); };
            }
        }
    }
}

它停止工作,因为IE已经加载了文档,并且已经触发了onload事件。您可以检查文档是否已加载,只需调用print,如果未加载,则调用事件处理程序

function printform(url) {
    var windowReference = window.open(url, "Header", 'width=600,height=600,toolbar=no,resizable=yes,scrollbars=yes,menubar=no');
    //if (window.print)
    //  windowReference.print();
    if (windowReference.print){
        var done = false;
        if (windowReference.document && windowReference.document.readyState){
            var rs = windowReference.document.readyState;
            if ((rs === 'complete') || (rs === 'loaded')){
                done = true;
                windowReference.print();
            }
        }
        if (!done){
            if (windowReference.addEventListener){
                windowReference.addEventListener('load', function(){ this.print(); });
            } else{
                windowReference.onload = function(){ this.print(); };
            }
        }
    }
}

我猜是在您调用windowReference.print时,页面尚未加载。请尝试windowReference.onload=函数{windowReference.print;};。这对Fire fox有效,但现在在IE中甚至没有出现对话框…我猜是在您调用windowReference.print时,页面尚未加载。请尝试windowReference.onload=函数{windowReference.print;};。这对Fire fox有效,但现在在IE中甚至没有出现对话框…我决定只测试用户是否使用Fire fox浏览器,下面是我使用的代码:“函数printformurl”{var windowReference=window.openurl,标题,'width=600,height=600,toolbar=no,resizeable=yes,scrollbars=yes,menubar=no';if window.print if navigator.appName==Netscape{windowReference.onload=function{windowReference.print;}else{windowReference.print}'我决定只测试用户是否使用fire fox浏览器,下面是我使用的代码:'function printformurl{var windowReference=window.openurl,Header',width=600,height=600,toolbar=no,resizeable=yes,scrollbars=yes,menubar=no';if window.print if navigator.appName==Netscape{windowReference.onload=function{windowReference.print;}else{windowReference.print}'