2014-01-29 20 views
0

好的,所以我想要一個按鈕的HTML頁面。當我按下按鈕我想要我的按鈕要關閉的頁面,和我的JavaScript序列運行。當我到達youtube.com(10秒後)時,我希望該窗口關閉。自動運行順序

有誰知道這是否有效?

<html> 
    <head> 
     <script language="JavaScript" type="text/javascript"> 

     var my_window; 

     function OpenWin() 
     { 
      my_window=window.open("http://www.yahoo.com", "_blank", "resizable=yes, scrollbars=yes, titlebar=yes, width=1000, height=800, top=10, left=10"); 
      setTimeout("GoUrl('http://www.youtube.com')", 10000); 

     } 
     function GoUrl(Url) 
     { 
      my_window.location=Url; 
     } 

     </script> 
    </head> 
    <body> 
     <button onclick="OpenWin()">Open Window</button> 
    </body> 
</html> 
+2

FYI:Java和JavaScript是不同的。 –

+0

當你嘗試它時它工作嗎? – Barmar

+1

你的腳本在哪裏用按鈕關閉窗口?這將無法工作 - 一旦關閉了窗口,與該窗口關聯的所有腳本都將停止運行。 – Barmar

回答

0

除非窗口本身用腳本打開,否則將無法關閉包含該按鈕的窗口。見()在window.close文檔:

https://developer.mozilla.org/en-US/docs/Web/API/Window.close

它可以關閉MY-WINDOW14,但是,因爲它是用window.open()創建的。如果你想MY-WINDOW14到一段時間後關閉,你可以試試:

var my_window; 

function OpenWin() 
{ 
    my_window=window.open("http://www.yahoo.com", "_blank", "resizable=yes, scrollbars=yes, titlebar=yes, width=1000, height=800, top=10, left=10"); 
    setTimeout("GoUrl('http://www.youtube.com')", 10000); 

} 
function GoUrl(Url) 
{ 
    my_window.location=Url; 
    setTimeout(function() { my_window.close(); }, 10000); 
} 

另外值得指出的是,它被認爲是不好的做法,通過代碼串setTimeout的,因爲它就像eval()函數。不要傳入「GoURL('...')」,而是嘗試使用回調函數,就像上面顯示的setTimeout的其他用法一樣。

的setTimeout:

https://developer.mozilla.org/en-US/docs/Web/API/Window.setTimeout