2012-03-16 16 views
1

Ajaxコールでは、iframeに挿入する必要があるコンテンツの「ブロブ」を取得します。私はコンテンツを管理することはできません... HTMLまたはHTML + JavaScriptだけかもしれません。iframeに埋め込まれたJavaScriptは、親ウィンドウをグローバルスコープとして使用するのはなぜですか?

「テンプレート」として、空のhtmlファイルをiframe srcとして使用します。 iframeの "load"イベントでは、ブロブをそのボディにプッシュします。これは、主に(jQueryのを使用して)動作します。

$iframe.contents().find('body').html(my blob);

何が起こることは、このシステムはwindow.top、親ウィンドウであるとJSの「ウィンドウ」オブジェクトが注入されていることです。どうして?

jQuery html()がどのように動作するかは問題が関係するかもしれませんが、jQueryを使用して同じ操作を行うクロスブラウザの方法を理解することはできません。

何か助けていただければ幸いです。

編集:これは非常に最小限のケースです:私たちは「13」を読んで(と私はscene.htmlに既に存在しているJavaScriptのオブジェクトにアクセスしていない)コンソールで

<iframe id="z" src="scene.html"></iframe> 

<script> 

var xxx = 13; 

$("#z").load(function() { 

    var c = "<scri" + "pt>console.log(xxx)</scr" + "ipt>"; 

    $(this).contents().find('body').append(c); 

}) 

</script> 

+0

私は他の何かが間違っていると思います。私は何か似たようなことをして、問題を認識しません。どうやって新しいJavascriptをiframeに挿入しますか?

関連する問題