2012-01-17 22 views
29

jQueryを使用してすべてのブラウザの互換性を維持するにはどうすればいいですか?jQueryを使用してウィンドウを閉じる方法

<input type="button" 
     name="backButton" 
     value="Close" 
     style="background-color:#245f91; color:#fff;font-weight:bold;" 
     onclick="window.close();"> 

このonclickイベントは、IEで働いています。 jQueryでコードを書く手助けをしてもらえますか?

+4

window.closeはプレーンなjavascriptです。 jQueryの何もそれをより多くのクロスブラウザにします。スクリプトがウィンドウを閉じることができるかどうかを決めるのはブラウザそのものです。 – mplungjan

答えて

48
$(element).click(function(){ 
    window.close(); 
}); 

注:あなたがwindow.openで開かれていなかったすべてのウィンドウを閉じないことができます。直接window.close()を呼び出すと、ユーザーにダイアログボックスが表示されます。

15

ちょうどwindow.close()は、なぜjQueryで書くべきですか?

1

これは、window.open()を使用して開いたウィンドウでのみ機能します。方法。 IEの場合

function close_window(url){ 
    var newWindow = window.open('', '_self', ''); //open the current window 
    window.close(url); 
} 
15

を試してみてください。

したい場合は、単にIEブラウザを開き、

javascript:self.close()を入力し、Enterキーを押し、それはプロンプトをお願いしなければなりません。

注:この方法は、ChromeまたはFirefoxでは機能しません。

+0

それは素晴らしいです、ありがとう! –

+0

私はそれが "newWindow.close(url);"であるべきだと思います。しかし、いずれにせよ、これはうまくいっており、受け入れられた答えでなければなりません! – BrianLegg

+0

良い答え。はい、 "newWindow.close(url);"にする必要があります。なぜurlパラメータを使用していますか? – Mikel

4

window.close();self.close();は正常に動作する必要がありますがwindow.open()を使用して、ウィンドウを開いているので、私は次の関数を使用するときにのみwindow.close機能を使用することができ、この

var tmp=window.open(params); 
tmp.close(); 
関連する問題