gpt4 book ai didi

c# - 重定向到新选项卡中的页面时避免弹出窗口拦截器

转载 作者:行者123 更新时间:2023-12-05 06:41:33 26 4
gpt4 key购买 nike

所以,我有一个需要以 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);

还是没有进展。重定向应该在服务器端完成,因为我必须获取一些数据并将其与链接一起传递。

最佳答案

通常浏览器会阻止弹出窗口,除非弹出窗口是由用户启动的。

如果一个窗口是通过点击直接打开的,它通常会正常打开。如果按钮点击间接打开窗口,则更容易被阻塞。因此,您注入(inject)脚本标签等可能会因为网页是垃圾邮件而被阻止(没有人希望在浏览时出现未经请求的弹出窗口)。

将 window.open 直接放入 onclick 事件是最有可能起作用的解决方案。

但最终您无法控制浏览器的行为,因此可能无法执行您想要的操作。

将按钮更改为样式超链接会起作用(目标为 _blank 或类似内容)。无法告诉浏览器在新选项卡或新窗口中打开。

关于c# - 重定向到新选项卡中的页面时避免弹出窗口拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40150748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com