2012-06-25 65 views
1

我想在成功db对话框后显示信息页面。和之后的信息,我想结束我写这篇每个页面(信息页和主页)超时后ASP.NET javascript关闭页面?

按钮按需事件:

//but this code does not work 
Response.Write("<script language='javascript'>setTimeout('self.close();',3000);</script>"); 

在同一时间,我想展示的信息消息。然后我想关闭所有,三秒钟后。我希望我能解释:)

谢谢。

+0

我认为浏览器正好挡住你的亲密脚本。放一些调试信息并检查你的函数是否正在执行。正在执行 – nunespascal

+0

。 –

+0

您使用哪个浏览器?可悲的是你在浏览器的特定领域。 – nunespascal

回答

2

Firefox只允许window.close();只有当你用脚本打开窗口。

参见:window.close

当调用此方法时,所引用的窗口关闭。

此方法仅允许通过使用window.open方法的脚本为打开 的窗口调用。如果脚本未打开窗口 ,则JavaScript控制台中会显示以下错误: 脚本可能无法关闭未由脚本打开的窗口。

+0

所以我不能这样做。我错了?? –

+1

不适用于所有浏览器,它可以在旧版本的IE上运行。但是有更好的方法来向用户显示通知。浮动div,对话框窗口(有专门做这件事的asp.net控件)等。这些可以使用脚本很容易地打开/关闭。 – nunespascal

+0

谢谢,很好解释 –

1

我解决了这个问题它适用于所有的浏览器。

这里是代码:

String MyScript = ""; 
MyScript += "<script language='javascript'>"; 
MyScript += " window.open('', '_self', '');"; 
MyScript += " top.window.close();"; 
MyScript += "</script>"; 
Page.ClientScript.RegisterClientScriptBlock(GetType(), "PopupClose", MyScript);