2016-08-31 8 views
0

私はハンドラ(ashx)を持っており、ブラウザに新しいタブにファイルを送信したいと思います。.netレスポンスファイル - 新しいタブを開く

私はJavaScriptを使用できることを知っています(私はJSを使用するとブラウザにポップアップをブロックするメッセージが表示されますが、私はこのメッセージを避けたいと思います)。私はResponseからハンドラ。何か方法はありますか?

私はアヤックスからハンドラを呼び出しています、これを試してみましたが、これは、同じウィンドウ内にPDF開いている

context.Response.Clear(); 
    context.Response.ClearHeaders(); 
    context.Response.ContentType = "application/pdf"; 
    context.Response.BinaryWrite(buffer); 

  $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "Default.aspx/AcceptFormData", 
       data: "{'funcParam': " + JSON.stringify(data) + "}", 
       dataType: "json", 
       success: function (msg) { 
        window.location = "ashx/GetFile.ashx"; 

おかげ

答えて

-1

window.open("ashx/GetFile.ashx");

をお試しください

補足として、それはユーザーのpreferencですe新しいタブと新しいタブを開くかどうか。 Open a URL in a new tab (and not a new window) using JavaScript

編集を参照してください:あなたの目的は、ポップアップブロッカーを回避するためであれば、一般的なルールは、ポップアップブロッカーが唯一の直接ユーザーイベントの処理中にwindow.open()を許可することのようです。あなたは、いくつかのオプションがあります:ドキュメントを開いて、クリックイベント中にwindow.open()を呼び出すためのリンクやボタンでAJAXコールバック時のユーザーへのモーダルまたは類似ページ要素

ドキュメント:ブラウザがポップアップブロッカーを示し、この場合のMDN - Window.open()

+0

。私はそれを避けたいです。 – user1912372

関連する問題