web-dev-qa-db-ja.com

window.close()が機能しない-スクリプトは、それによって開かれたウィンドウのみを閉じる場合があります

Javascriptのwindow.close()メソッドを使用してウィンドウを閉じようとすると、ブラウザーがコンソールに次のメッセージを表示するときに、常に問題が発生します。

_"Scripts may close only the windows that were opened by it."
_

これは、ページのすべての部分で発生します。これをリンク、ボタン、またはスクリプトから直接実行できますが、このメッセージは常に表示されます。

以下の関数(またはこれらのバリアント)のwindow.close();メソッドを置き換えようとしましたが、何も起こりませんでした。

_window.open('', '_self', '');
window.close();
_
29
mayconfsbrito

Googleを介して、ここStack OverflowでWebの多くのページを検索しましたが、問題を解決するものはありませんでした。

多くの試みと「キック」の後、私はそのコントローラーをテストする方法を変えました。それから私は問題が常に発生することを発見したので、Ctrl + Shift + T Chromeのショートカット。そのため、ページは実行されましたが、親ウィンドウ参照はありませんでした。これは閉じることができないためです。

4
mayconfsbrito

エラーメッセージはこれよりも明確にはなりません。

"Scripts may close only the windows that were opened by it."

スクリプトが(window.openのような)ウィンドウを開くことを開始しなかった場合、そのウィンドウ内のスクリプトはウィンドウを閉じることができません。 Webサイトがブラウザを制御してウィンドウを閉じるのを防ぐセキュリティ。

10
somethinghere

現在のウィンドウ、または「_self」を使用して開いたウィンドウまたはページを閉じることはできませんが、これを行うことはできます

var customWindow = window.open('', '_blank', '');
    customWindow.close();
3
andrex

以下のコードは私のために働いた:)

window.open('your current page URL', '_self', '');
window.close();

これは機能しません。一部のWebサイトは正常に機能しています。ただし、youtube.comやyahoo.comサイトなどでは、上記のアプリケーションコードは機能しません。アイデアを提案してください。

0
DfrDkn