Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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 Chrome window.print()打开时间过长_Javascript_Google Chrome_Chromium - Fatal编程技术网

Javascript Chrome window.print()打开时间过长

Javascript Chrome window.print()打开时间过长,javascript,google-chrome,chromium,Javascript,Google Chrome,Chromium,我有一个模态对话框,有一些应该打印的文本,还有打印链接。所以当我按print时,我需要30秒才能在chrome中打开预览对话框(firefox、safari、ie都可以)。原因是什么 对话框: <div id="dialog"> <div id="to_print_data"> My data to print!!!!! </div> Click <a href="#" onclick="window.print(); r

我有一个模态对话框,有一些应该打印的文本,还有打印链接。所以当我按print时,我需要30秒才能在chrome中打开预览对话框(firefox、safari、ie都可以)。原因是什么

对话框:

<div id="dialog">
    <div id="to_print_data">
    My data to print!!!!!
    </div>
    Click <a href="#" onclick="window.print(); return false;"> here</a>
</div> 

    <style>
    @media print {
      body * {
        visibility:hidden;
      }

    #to_print_data, #to_print_data * {
        visibility:visible;
      }
      #to_print_data {
        position:absolute;
        left:0!important;
        top:0!important;
        border:0!important;
        font-size:16px!important;
      }
    }
    </style>

我的数据要打印!!!!!
点击
@媒体印刷品{
正文*{
可见性:隐藏;
}
#要打印数据,#要打印数据*{
能见度:可见;
}
#打印数据{
位置:绝对位置;
左:0!重要;
顶部:0!重要;
边界:0!重要;
字体大小:16px!重要;
}
}
更新:


我在后台运行一些脚本,找到了导致post请求的原因,在完成打印对话框后30秒左右,请求处于挂起状态。在打印等待post请求完成时,如何在不删除脚本的情况下防止这种行为

我找到了原因。如果后台正在运行某个扩展,则会发出post请求。此请求的挂起状态约为30秒。只有在打印完成后,才会显示对话框。因此,挂起的请求会阻止要打开的打印对话框

在我的情况下,在我刷新页面之前,它甚至不会打印,如下所述:

@noypiscripter的回答为我解决了这个问题:

function printPage() {
    window.print();

    //workaround for Chrome bug - https://code.google.com/p/chromium/issues/detail?id=141633
    if (window.stop) {
        location.reload(); //triggering unload (e.g. reloading the page) makes the print dialog appear
        window.stop(); //immediately stop reloading
    }
    return false;
}

可能是特定于您的特定Chrome实例(加载的扩展太多或其他)。如果在匿名模式下尝试,会发生什么情况?如果使用chrome,请使用开发者工具下的“网络”面板查看哪些资源导致加载过程延迟。@RobGrzyb版本为25.0.1364.172 m;所有扩展都是disabled@blachawk网络面板我如何理解显示请求,所以什么都没有there@RobGrzyb在隐姓埋名模式下,我也有同样的行为。。。