跨浏览器javascript window.open方法

时间:2018-08-30 17:02:32

标签: javascript jquery cross-browser web-frontend

您好,我目前正在使用网络应用程序。我必须打开一个弹出窗口并打印页面。页面打印过程结束后,必须关闭弹出窗口。在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.
)};

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 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);