Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .net响应文件-打开新选项卡_Javascript_Pdf_Response - Fatal编程技术网

Javascript .net响应文件-打开新选项卡

Javascript .net响应文件-打开新选项卡,javascript,pdf,response,Javascript,Pdf,Response,我有一个处理程序(ashx),我想向浏览器发送一个文件到新选项卡 我知道我可以使用JavaScript(当我使用JS时,浏览器会显示关于阻止弹出窗口的消息-我希望避免此消息),但我希望通过处理程序的响应来实现这一点。有办法吗 我试过了,但这是在同一个窗口中打开PDF context.Response.Clear(); context.Response.ClearHeaders(); context.Response.ContentType = "application/pdf";

我有一个处理程序(ashx),我想向浏览器发送一个文件到新选项卡

我知道我可以使用JavaScript(当我使用JS时,浏览器会显示关于阻止弹出窗口的消息-我希望避免此消息),但我希望通过处理程序的响应来实现这一点。有办法吗

我试过了,但这是在同一个窗口中打开PDF

  context.Response.Clear();
  context.Response.ClearHeaders();
  context.Response.ContentType = "application/pdf";
  context.Response.BinaryWrite(buffer);
我正在从Ajax调用处理程序:

            $.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";
谢谢

尝试
窗口。打开(“ashx/GetFile.ashx”)

作为旁注,是否打开新选项卡与打开新窗口是用户的首选项。看

编辑:如果您的目的是避免弹出窗口阻止程序,一般规则似乎是弹出窗口阻止程序在处理直接用户事件期间只允许
window.open()
。您有几个选择:

  • 在ajax回调期间,使用链接或按钮向用户显示一个模式或类似的页面元素,以打开文档,并在单击事件期间调用
    窗口。open()

文档:

在这种情况下,浏览器会显示弹出窗口阻止程序。我想避免它。