我想從超鏈接使用java腳本打開新窗口,然後在5秒內自動關閉它。它要麼立即關閉,要麼根本不關閉。下面是一些代碼樣品我用:JavaScript的如何打開窗口(從超鏈接),然後關閉延遲5秒?
「功能closeOnLoad(myLink的){風險newWindow = window.open(myLink的); newWindow.onload = setTimeout的(newWindow.close(),5000);}」 +連結文字+「」
我想從超鏈接使用java腳本打開新窗口,然後在5秒內自動關閉它。它要麼立即關閉,要麼根本不關閉。下面是一些代碼樣品我用:JavaScript的如何打開窗口(從超鏈接),然後關閉延遲5秒?
「功能closeOnLoad(myLink的){風險newWindow = window.open(myLink的); newWindow.onload = setTimeout的(newWindow.close(),5000);}」 +連結文字+「」
你最好關閉父窗口而不是在子窗口中定義一個onload處理程序。由於安全限制,您可能無法訪問修改子窗口事件。
function closeOnLoad(myLink)
{
var newWindow = window.open(myLink);
setTimeout(
function()
{
newWindow.close();
},
5000
);
};
}
要卸載的是unload()函數。 Here you have an example。
你需要使用所謂的'閉包'來包裝超時。它就像超時函數,然後關閉被包裝在另一個函數中。
我不會在這裏詳細討論,但是查找javascript和閉包並玩弄它們是如何工作的。
這裏有一個鏈接,以幫助您開始:http://www.jibbering.com/faq/faq_notes/closures.html
窗關閉代碼應該是在窗口的代碼:
$(document).ready(function() {
setTimeout(function() {
window.close();
},5000);
})
,但你會得到一個彈出窗口,要求用戶確認是否你試試&關閉彈出窗口。
假設當然,他正在運行jQuery與您提供的示例。 – Evernoob
哈哈!你是對的...我傾向於將JavaScript和jQuery等同起來,談論習慣! –
謝謝,這正是我想要做的。 – aleks2009