我有一个处理程序(ashx),我想将一个文件发送到浏览器到新标签页。
我知道我可以使用JavaScript(当我使用JS时,浏览器显示阻止弹出窗口的消息 - 我想避免这个消息),但我想通过我的处理程序的响应来做到这一点。有什么办法吗?
我尝试了这个,但这是在同一个窗口中打开PDF
index.php
我从Ajax调用处理程序:
context.Response.Clear();
context.Response.ClearHeaders();
context.Response.ContentType = "application/pdf";
context.Response.BinaryWrite(buffer);
由于
答案 0 :(得分:-1)
尝试window.open("ashx/GetFile.ashx");
作为旁注,是用户首选项是否要打开新选项卡而不是新窗口。见Open a URL in a new tab (and not a new window) using JavaScript
编辑:如果您的目的是避免弹出窗口阻止程序,则一般规则似乎是弹出窗口阻止程序仅在处理直接用户事件期间允许window.open()
。您有几个选择:
window.open()
。