0

サイトのウィンドウを閉じることができるかどうかを確認しようとしています:

if (window.opener && window.opener.closed === false) {

を設定した別のウィンドウから、ユーザーが私のサイトにアクセスする可能性がありますwindow.openerwindow.openerユーザーが最初にサイトにアクセスしたときに、次を使用して「リセット」できますwindow.opener = null。ただし、これは IE では機能しません (次のページでwindow.opener復元されます)。

IE でコンストラクトを「リセット」する方法window.opener、または一般的に私の問題に対する別のクロスブラウザー ソリューションはありますか?

4

1 に答える 1

1

完全に類似しているわけではありませんが、私の目的には役立つソリューションを見つけました。オープナーが同じドメインからのものである場合にのみ、ウィンドウを閉じたいです。

if (window.opener.location.hostname.indexOf(window.location.hostname) > -1) {

window.opener.locationただし、オープナーが別のホストからのものである場合、IE はアクセスを許可しません。これは実際には非常にうまく機能します。

try {
    //snippet above
}
catch (error) { /* no action needed; assume different host */ }
于 2013-03-02T17:41:43.870 に答える