0

嗨,我目前正在开发一个网络应用程序。我必须打开一个弹出窗口并打印页面。页面打印过程弹出后必须关闭。在 Firefox 中一切都很好,但在 Chrome 中它不起作用。它打印空白页。这是代码。

$.ajax({
    type: "POST",
    url:  BASE_URL + "blabalba.php",
    data: dataString,
    success: function(res){

        var data = JSON.parse(res);
        if(data.status == 1){
            window.open(BASE_URL + "fisBas?sale_id=" + data.lastInsertId + "&sale_type=" + data.sale_type + "", "_blank");
            location.reload();
        }
        else 
            swal(data.message, "", "error");

    },

    error: function(){
        swal("xxxx", "", "error");
    }

FisBas.php js代码

$(function(){
  window.print();
  window.close(); 
 // this code works on firefox.
)};
4

1 回答 1

1

我找到了解决方案。Chrome 需要一个时间延迟来完成这项工作。所以这里是更新

fisBas.php Js代码

    $(function(){
      window.print();
      setTimeout(function(){
        window.close();
      }, 1000)
    })

window.open 调用

window.open(BASE_URL + "fisBas?sale_id=" + data.lastInsertId + "&sale_type=" + data.sale_type + "", "_blank");
setTimeout(function(){
   location.reload();
}, 1000);
于 2018-08-30T17:22:02.310 回答