私の現在の解決策:
function isAccessToWindowRestricted(w) {
try {
return !w.location.href;
} catch (e) {
return true;
}
}
より良いアイデアはありますか?try-catchなしで「合法的な」方法はありますか?
私の現在の解決策:
function isAccessToWindowRestricted(w) {
try {
return !w.location.href;
} catch (e) {
return true;
}
}
より良いアイデアはありますか?try-catchなしで「合法的な」方法はありますか?
例外をスローせずに親フレームの値が存在することをテストする方法がないため、良い方法はありません。
これを含むいくつかのことを試しました:
var parentURL = window.parent && window.parent.location && window.parent.location.href;
何があっても、同じオリジン ポリシーにより例外がスローされます。ただし、iframe にいるかどうかを簡単に確認できます。
function checkInFrame( arg ){ arg = arg || window; return arg.parent == window; }
しかし、私の知る限りでは、try { ... } catch( ... ) { ... }
ブロックを使用する必要があります (これがその目的です)。