2013-09-27 139 views
6

別のブラウザウィンドウとしてポップアップされたログインフォームがあります。 APIがユーザーのログインを確認したら、AngularJSのログインブラウザのウィンドウを閉じるにはどうしたらいいですか?AngularJSのブラウザウィンドウを閉じるには

$window.close() 

あなたはあなたのコントローラ/サービスに$windowサービスを注入することをお勧めします:

答えて

13

$windowサービスで$window.close()を使用してください。
結果をこのような別のコントローラにブロードキャストできます。AngularJS – Communicating Between Controllers

+1

。 「スクリプトは、それによって開かれたウィンドウだけを閉じるかもしれない」と述べている。 –

+0

シルビオ注入のこのスタイルを使用してみてください: .controller( 'LoginCtrl'、関数($スコープ、$窓、$ modalInstance){ ... } 代わりの .controller( 'LoginCtrl' を、[ '$ scope'、 '' $ window '、function($ scope、\t $ window、$ modalInstance){ ... }]); – vladymy

+0

このスレッドを見てください: - http://stackoverflow.com/questions/34367921/close-window-in-angularjs-on-specific-url-angularjs/34368304#34368304 – Siddharth

3

これは最初、彼らは、ブラウザを閉じたいかどうか、それらを尋ねると、ユーザが要求されます。また、グローバルなjavascript変数windowを直接使用することもできますが、私はそれを「角度」の方法で行い、注射液のみを使用することをお勧めします。

+0

パーフェクト。ご協力いただきありがとうございます。 –

+0

@ChrisMontgomeryこの関数はもう機能しません。 Chromeでエラーが発生する "$ window.close is not function" –

+0

newWindowが開いた新しいタブ/ウィンドウへの参照時に、newWindow.close()がChrome 52で動作しました。var newWindow = $ window 。開いた();角モードブートストラップの – SpaceManGalaxy

関連する問題