1

そのため、別のドメインの iframe を含む 1 つのドメインに親ページがあります。

親からベース URL を取得する相対パスを使用して、iframe から親ページをナビゲートしようとしています。

で試しました

<script type="text/javascript">
     function navigateParent(targetPage) {
        var url = window.parent.location.href;
        if (url.indexOf('.') > -1) {
             url = url.substring(0, url.lastIndexOf('/') + 1);
        }
        window.parent.location = url + targetPage;
     }
</script>

しかし、これはエラーを生成します:

安全でない JavaScript が URL ...my parent url... with URL ...my iframe url... でフレームにアクセスしようとしています。ドメイン、プロトコル、およびポートが一致する必要があります。

これを行う方法はありますか?つまり、クロスドメイン許可などを指定します。

4

1 に答える 1

2

クロス ドメイン保護は、ユーザーを保護するためにサーバー的に適用されるブラウザー側になりました (いくつかのクロス ドメイン インジェクションの後)。

別のドメインが提供するフレーム/ウィンドウで関数を呼び出したり、プロパティを変更したりするには、次のことができます。

  • サーバーでCORSヘッダーを指定します(これにより、クロスドメイン通信が正常であることをブラウザに伝えます)

  • preferred : postMessageを使用して、ウィンドウとフレームの間で通信します

于 2012-06-12T13:31:58.747 に答える