2012-04-13 1 views
1

iframeを使用して私の部門のウェブサイトに私の会社のhr部門のウェブサイトへのアクセスを追加しています。ユーザーがまだjavascriptのパスワードアプリケーションにログインしていない場合を除き、すべて動作します。アプリケーションは実行されません。私はこれが同じ起源のポリシーのためであることを読んだが、それを扱ううまい方法を見つけることができなかった。他のサイトのjavascriptをブロックしないようにiframeに追加できるコードがいくつかありますか?1つの外部サイトのJavascriptアプリケーションがiframe内で実行されていない

+0

いいえ。コードがポリシーをバイパスするだけの場合、ポリシーは無意味です。 –

+0

このSOの答えは役に立つかもしれません。 http://stackoverflow.com/questions/3076414/ways-to-circumvent-the-same-origin-policy – Teemu

答えて

2

どちらのページも同じスクリプトを使用するには、同じdocument.domainを共有する必要があります。

https://developer.mozilla.org/en/document.domain

https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript

あなたの親ページがドメインの下にある場合は、「myArea.myCompany.net」と、あなたのiframe内にHRページは「theirArea.myCompany.net」の下で、あなたは両方を設定することができますdocument.domainを "myCompany.net"にコピーすると、お互いにスクリプトを作成することができます。

1

同じ発信元ポリシーは、別のドメインのフレームにアクセスできないことを意味します。 iframe、またはあなたの上のフレーム、またはウィンドウ内の他の場所であること。

目的は、ユーザーを保護することです。どのサイトでもwww.facebook.comを読み込むiframeを追加することができます。ログインしている場合は、HTMLを読むだけであなたの実名やお友達などを抽出できます。これを防ぐための起点政策があります。

周りに道はありません(もしあれば、それはバグです)。唯一の解決策は、両方のページを同じドメインにホストすることによって問題を回避することです。

0

IFRAMEを使用する必要がありますか? Division WebサイトからHRサイトにリンクするだけで、ポップアップウィンドウ内に表示することはできません。

CORS(http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)がお手伝いできる同じ発信元ポリシーのコードスニペットはありません。

いいえいいえ。コード

関連する問題