0

我正在检查我的应用程序与不同浏览器的兼容性,并且遇到了一些浏览器无法在新窗口中打开表单的问题。

我用来这样做的脚本:

string theScript= "<script>window.open('" + fileLocation + "','_blank','height=400,width=400,scrollbars=Yes,resizable=Yes')</script>";
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "blah", theScript, false);

有没有办法解决它?提前致谢。

4

2 回答 2

1

弹出窗口阻止程序将阻止该类型的窗口。这就是它不会显示的原因,因为没有用户操作导致它打开。

如何解决?

  • 让人们为您的域禁用弹出窗口阻止程序。
  • 或者在客户端打开弹出窗口并让服务器将其重定向到正确的位置
于 2013-09-20T07:44:45.330 回答
0

您可以检测弹出窗口是否被阻止,并为用户提供更改浏览器的选项:

var pop = window.open("about:blank", "alert_window", "height=150,width=150");

// Detect pop blocker
setTimeout(function() {
if(!pop || pop.closed || pop.closed == "undefined" || pop == "undefined" || parseInt(pop.innerWidth) == 0 || pop.document.documentElement.clientWidth != 150 || pop.document.documentElement.clientHeight != 150){
pop && pop.close();
alert("Popups must be enabled.");
}else{
alert("Popups is enabled.");
pop && pop.close();
}}, 1000);
于 2013-09-20T07:49:16.947 回答