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