2012-03-04 3 views
0

jQueryを「クロスサイト」URLに使用してiframeを作成しています。これはFirefoxでは正常に動作しますが、IEは親ページのドメインをiframe src URLに先行しています。私は(jQueryを使って)のiframeを作成していた場合jqueryでiframeを作成すると、現在のドメインに絶対URLが付加されます

例は次のようになります。

<iframe src="http://www.google.com"></iframe> 

IEが負荷にしようとページがある:

http://www._mysite_.com/http://www.google.com 

私は静的HTMLで作成した場合iframeはすべてうまく動作します。それは間違ったページを読み込むJSを使って作るときだけです。

これは、IEが組み込まれている意図的なクロスサイト保護であるかどうかを理解することができますが、そのような場合、または何か不足していると思います。

IEのデフォルトの動作ですか?誰かが回避策を持っていれば、それは非常に高く評価されるでしょう。

EDIT:

生成されたコードは次のとおりです。

<iframe id="myIframe" width="500" height="400" frameborder="0" src="http://www._website_.com/aaa/bbb/ccc"> 

私は、静的なHTMLで生成されたコードをテストし、それはIEで正常に動作しませんでした。

EDIT 2:この行で

jQuery('.signUp').live('click', function() { 

    var url = 'http://www._website_.com'+$(this).attr('href'); 

    var thisModal='<div id="dialogRes" class="windowG"><iframe id="iframeG" frameborder="0" width="500" height="400" src="#"></iframe></div>'; 

    jQuery('body').append(thisModal); 

    jQuery('#iframeG').prop('src', url);   

    return false; 

}); 

::私はattr()を試してみました

jQuery('#iframeG').prop('src', url);   

だけでなく、一緒にそれをすべて削除し、

これは、私はIFRAMEを作成しています方法ですiframeのsrcタグにurlを入れるだけです。何も動作していないようです。

+0

場合によっては、生成コードが表示されることがありますか? – Ryan

+0

問題はありません。上記に追加します。 –

+1

jQueryでこのiframeを構築する方法 – Joseph

答えて

1

IEでは、常にhref属性が絶対URLとして返されるという問題があります。ですから、次にあなたのウェブサイトhttp://mydomain.com/foo

<a id="demo" href="bar/baz">...</a> 

を持っていた場合:

この問題を回避するためのオプションが href属性から(可能な)完全なドメインを解析するか、または使用するようにしている
jQuery('#demo').attr('href') == 'http://mydomain.com/foo/bar/baz'; 

つをターゲットアドレス/パスを保持するだけの異なるカスタム属性(例:data-href)。

関連する問題