2011-10-13 96 views
1

当我的登录按钮被点击时,如果登录成功,我想关闭浏览器。如何使用C#关闭浏览器?

protected void btnLogin_Click(object sender, AuthenticateEventArgs e) 
{ 
if (isAuthenticated) 
{ 
// close the browser 
} 
} 

我没有使用AJAX,所以这发生在代码后面。

如何发送一个命令(或JavaScript调用)到浏览器使用C#关闭自己,也许使用Response ...对象?

感谢,

上的更新应答(它关闭,不警告):

const string scriptKey = "closeBrowser"; 
      if (!ClientScript.IsClientScriptBlockRegistered(scriptKey)) 
      { 
       ClientScript.RegisterClientScriptBlock(this.GetType(), scriptKey, "javascript:setTimeout('parent.Shadowbox.close();', 1000);", true); 
      } 
+4

为什么要网站能够关闭我的浏览器?在某些情况下(例如从js打开它之后),可能会允许关闭标签,但关闭整个浏览器应该是不可能的。 – CodesInChaos

回答

5

下可以跑到服务器端添加window.close() JavaScript方法你的客户端脚本。但是,这取决于您的浏览器。

ClientScript.RegisterClientScriptBlock(this.GetType(), "CloseScript", "window.close();", true); 
+0

哎呀,编辑。 – Curt

+0

谢谢。你有浏览器警告信息的解决方案吗?我尝试设置window.opener = self,但没有做任何改变。 –

+0

我不认为有任何解决方案。浏览器放入此警告消息以防止脚本能够自动关闭浏览器。 – Curt

2

您无法强制浏览器完全关闭。从页面上,您可以尝试

window.close(); 

(在JavaScript中),但取决于浏览器和可能被忽略的情况。如果它能正常工作,它只会关闭窗口/选项卡。

1

我认为关闭浏览器不是一个好主意。每当这种情况发生时,用户宁可更加恼火。

1

如果打开使用JavaScript的窗前,仿佛

var popup = window.open(....) 

,你可以使用JavaScript

关闭整个窗口中执行popup.close(); /浏览器是不可能的,因为据我所知