2012-03-01 7 views
1

こんにちは、iframeとcrossdomainsに関する質問があります。 私が見つけた答えはちょうど混乱してしまった。可能性があると言う人もいれば、不可能だと言う人もいます。だから私はここで誰かが私に私が探していた答えを与えることを願っています。私の質問は次のようになります:crossdomain iframe handling

たとえば、私は www.apple.comというウェブサイトを持っていて、新しいURL:www.banana.comでiframeを読み込みます。 www.banana.comには2つのコンボボックスがあり、最初の値を変更すると2番目のコンボボックスが変更されます。しかし、私が価値を変えると、私は許可が拒否されます。

www.apple.comに値をコピーする必要はないので、www.banana.comに残ります。新しいタブでフレームを開いたときの動作は何ですか?だから私の質問です:それはクロスドメインの問題であり、コンボボックスを動作させる方法がありますか?

私はwww.banana.comで、このラインで作業:

if (window.parent.vulin){ 
    var docPrefix = window.parent.vulin; 
}else{ 
    var docPrefix = window.parent; 
} 

、それは権限の問題があるparent.vulinです。

+0

両方のドメインのコンテンツを制御しますか? –

+0

いいえ、私は第1サイトのコンテンツを管理する人物を知っていて、第2サイトのコンテンツを管理しています。 (したがって、iframe内のサイト) – user993177

+0

これを見てください:http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/ –

答えて

1

両方のドメインに対してある程度の制御権があるため、「クロスソースリソース共有」またはCORSを使用してクロスドメインポリシーを回避できます。

http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/

技術はAccess-Control-Allow-Origin HTTPヘッダを送信するターゲットウィンドウのサーバを有し、そしてIEをなだめるために、わずかに他のウィンドウ内のJavaScriptコードを修正することを含みます。

+0

私はちょうど考えていましたが、 "window.parent"を別のものに変更するコードのこの部分を変更する方法はありません。今はwindow.parent.locationがbanana.comの代わりにappel.comを与えるからです。それで、なぜdivがwindow.parentにアクセスできないのかがわかります。 ? (ちょっとした考え) – user993177