【问题标题】:Cross Browser javascript window.open method跨浏览器 javascript window.open 方法
【发布时间】:2018-08-30 17:02:32
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery cross-browser web-frontend


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多