2014-01-17 490 views
0

我有一個網頁上有一個按鈕'開始'。現在我想要關閉那個「開始」按鈕的onclick,這個頁面將被關閉。我可以使用JavaScript做到這一點嗎?使用javascript關閉當前網頁的onclick按鈕?

+2

你是如何打開該頁面的?您的頁面只能關閉它打開的那些頁面。 – techfoobar

+0

這個問題是相似的: http://stackoverflow.com/questions/2076299/how-to-close-current-tab-in-a-browser-window 看看吧! – julesdude

+0

此頁面打開onclick上一頁的按鈕 – Shubh

回答

0

<script>window.close();</script>

+1

這在大多數情況下不會做任何事情。 – Quentin

+0

true,但關閉任何東西的唯一方法 – Soundz

+0

這不起作用 – Shubh

2
<input type="button" value="Close" onclick="window.close()" /> 
+2

在大多數情況下,這不會做任何事情。 – Quentin

+0

是的,它將在彈出窗口上工作 – user1844933

+0

大多數時候,人們不在彈出窗口中工作。 – Quentin

0

去到另一個頁面將關閉當前頁面(它的任何其他腳本,等停止執行)。

location = "http://duckduckgo.com"; 
0

您將需要使用Javascript執行此操作。使用window.close()

close(); 注意:當前窗口是隱含的。這相當於:

window.close(); 或者您可以指定一個不同的窗口。

所以:

function close_window() { 
    if (confirm("Close Window?")) { 
    close(); 
    } 
} 

與HTML:

<a href="javascript:close_window();">close</a> 

或:

<a href="#" onclick="close_window();return false;">close</a> 

您返回false這裏,以防止事件的默認行爲。否則,瀏覽器將嘗試轉到該URL(顯然不是)。

現在window.confirm()對話框中的選項會正常並取消(不是和否)。如果您確實需要「是」和「否」,則需要創建某種模式的Javascript對話框。

注意:上面有針對瀏覽器的差異。如果您使用Javascript打開窗口(通過window.open()),那麼您可以使用javascript關閉窗口。 Firefox不允許你關閉其他窗口。我相信IE會要求用戶確認。其他瀏覽器可能有所不同。

1

您只能使用Javascript關閉通過javascript創建的窗口,這是一項安全功能。因此,其他用戶指出,因此window.close();不適用於大多數場景。

我會做的就是打開當前窗口中的目標設定爲_self的新實例,然後關閉此e.g:

window.open(window.location, '_self').close(); 

或者:

<script type="text/javascript"> 
    function closeWindow(){ 
     window.open(window.location, '_self').close(); 
    } 
</script> 

<input type="button" id="btnClose" value="Close window" onclick="closeWindow();" /> 

w3.org docs on window.close()。密切關注:

在Window對象的close()方法應該,如果滿足下列所有條件都滿足時,關閉瀏覽器上下文答:

  • 相應的瀏覽器上下文A爲腳本,可關閉。
  • 由現任設置中指定的負責瀏覽上下文 目的是熟悉的瀏覽上下文A.
  • 由現任設置中指定的負責瀏覽上下文目的是允許 導航瀏覽上下文A.

特別是:

相應瀏覽上下文A是腳本關閉的。

什麼是「腳本可關閉」?

甲瀏覽上下文是腳本閉合的,如果它是是由腳本創建(如由用戶的動作相對)的輔助瀏覽上下文,或者如果它是一個頂級瀏覽上下文其會話歷史記錄僅包含一個文檔。

雖然提出的解決方案有點破綻。如果兼容性是一個問題,我會建議您在彈出窗口/'腳本可關閉'窗口內執行任何操作,以保證支持。

相關問題