2012-06-25 62 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);