2011-08-08 19 views
0

我有一些javascipt的打開2彈出窗口與類似的代碼:IE9失去控制子窗口中的

Child[i] = window.open(...); 

然後我試着用下面的代碼關閉所有的人都從主窗口:

setTimeout(Child[i].close(), 5000); 

的問題是在IE9中,2彈出無法關閉,它看起來像是完全失去了控制在2彈出(子窗口)主窗口,但在2 URL是真實的URL這只是發生,另一方面,如果URL是about:blank,我的意思是指向一個真實網站(例如google.com)的URL目標,所以t他彈出5秒後關閉(按預期工作)。

在Chrome中,無論URL是什麼,腳本都很好用。
我不知道IE的這種行爲是什麼,所以希望能得到你的一些幫助。
謝謝!

+0

聽起來像安全問題,保護從腳本關閉外部網站用戶。無論如何,嘗試在窗口打開時添加名稱,例如'Child [i] = window.open(「http://www.google.com」,「myWindowName」);' –

+0

@影子嚮導謝謝,但實際上我在腳本中包含名字,抱歉沒有在問題 – Ryo

回答

1

嘗試關閉之前設置這樣的:

Child[i].opener = window; 
Child[i].close(); 

注:這在IE < 9,沒有嘗試過的9呢。

我只注意到另一件事,你setTimeout通話切換到這一點,並嘗試:

setTimeout(function() { 
    Child[i].opener = window; 
    Child[i].close(); 
}, 5000); 
+0

中顯示它謝謝,但腳本似乎爆發了,什麼都沒有發生然後 – Ryo

+0

嘿,你能試試我的更新嗎? – Mrchief