0

テキスト/csv形式の応答を提供するajax呼び出しであるダウンロードポップアップをユーザーに表示しようとしています。

問題: Firefox では正常に動作しますが、新しいタブを開く Chrome では動作しません。これは間違いなく意図しないことであり、起こらないことを望みます。私が何を変えることができるかについてのアイデアはありますか...?

function x() {

  var obj = jQuery("input:checked").map(function() 
  { 
    return jQuery(this).parents('tr').attr('id'); 
  });

  var result = null;
  var arr = jQuery.makeArray(obj);
  var data = arr.join(',');

  $.ajax({
    url : '<%= url_for :controller => "liges", :action => "export_to_csv" %>',
    type : 'POST',
    data : {data:data},
    dataType : 'string',
    async: false,
    success : function(response) { 
      window.open('data:text/csv;charset=utf-8,'+escape(response)); 
    }    
  }); 
};
4

2 に答える 2

1

これを試して:

window.open("","","width=400,height=150");

ちなみに、Chrome は、アクセスを許可するまで、ページ上のポップアップ ウィンドウをブロックします。

于 2012-10-10T10:11:24.720 に答える
0

_blank別のパラメーターとして渡す必要があります。

MDNから:

を呼び出すたびに新しいウィンドウを開くにはwindow.open()、特別な値_blankfor を使用しますstrWindowName

例:

window.open('data:text/csv;charset=utf-8,'+escape(response), '_blank'); 
于 2012-10-10T10:10:02.263 に答える