Кросс-браузерный JavaScript-метод window.open - PullRequest
0 голосов
/ 30 августа 2018

Привет, я сейчас работаю над веб-приложением. Я должен открыть всплывающее окно и распечатать страницу. После завершения печати страницы всплывающее окно должно быть закрыто. В 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 голосов
/ 30 августа 2018

Я нашел решение. Для выполнения этой работы Chrome нужна задержка. Итак, вот обновление

Код FisBas.php Js

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

window.open call

window.open(BASE_URL + "fisBas?sale_id=" + data.lastInsertId + "&sale_type=" + data.sale_type + "", "_blank");
setTimeout(function(){
   location.reload();
}, 1000);
...