所以,我有一个需要以PDF格式导出报告的应用程序。然后在按钮上单击生成的pdf应在新选项卡中打开,供用户在下载前查看内容。
我的问题是在新标签页面中打开页面获取弹出窗口阻止程序警告,我已经尝试过以下操作:
string url = "/Page2.aspx?id="+id+;
Response.Write("<script>");
Response.Write("window.open('"+url+"','_newtab')");
Response.Write("</script>");
.......
Page.ClientScript.RegisterStartupScript(this.GetType(),"OpenWindow","window.open('"+url+"','_newtab');",true);
...
ScriptManager.RegisterStartupScript(this, this.GetType(), "NewTab", "window.open('" +url+ "');", true);
仍然没有进展。重定向应该在服务器端完成,因为我必须获取一些数据并将其与链接一起传递。
答案 0 :(得分:0)
除非弹出窗口是由用户启动的,否则浏览器通常会阻止弹出窗口。
如果一个窗口因onclick直接打开,它通常会打开。如果按钮单击间接打开窗口,则更有可能被阻止。因此,您注入脚本标记等可能会被阻止为网页垃圾邮件(没有人希望在浏览时出现未经请求的弹出窗口)。
将window.open直接放入onclick事件是最有可行的解决方案。
但最终你无法控制浏览器的行为,所以可能无法做你想做的事。
将按钮更改为样式化的超链接将起作用(目标为_blank或类似)。无法告诉浏览器在新选项卡和新窗口中打开。