0

このように構成されたFirefox用のチャットWebページがあります

..... 外側の HTML

-----|......フレームセット フレーム

------------|...... ヘッダー: jQuery が含まれています 投稿がデータを返しました: rdata = new_iFrame_html_str、更新する必要がある iFrame の HTML 文字列全体

------------|...... iFrame

--------------------|...... ヘッダー: jQuery を含む

--------------------|...... body: 適切に動作するためにヘッダー jQuery に依存するチャット メッセージ

質問: この jQuery の投稿が機能しません。つまり、この投稿で iFrame 全体 (ヘッダーと本文) を更新する方法が見つかりませ

私が試してみて、javascriptとjQueryで失敗したこと:

  1. top.frames['framesetFrame_name'].document.getElementById('iframe_id').contentDocument.body.innerHTML = new_iFrame_html_str;
    • ヘッダーではなく本体のみを変更しているため、jQueryから生成された動作を表示できないため、これは好きではありません

  2. top.frames['framesetFrame_name'].document.getElementById('iframe_bucinid').contentWindow.location.reload();
    • リロードするとiFrameがちらつくため、リロード したくありません。チャットプログラムには悪いです

  3. top.frames['framesetFrame_name'].document.getElementById('iframe_id').contents().html = new_iFrame_html_str;
    • :(を示すものは何も更新しません

  4. top.frames['framesetFrame_name'].document.getElementById('iframe_id').contentWindow.location.href = new_iFrame_html_str;
    • = url_of_new_content のはずなので、これは実際には間違った形式です。

  5. $( top.frames['framesetFrame_name'].document.getElementById('iframe_id') ).html( new_iFrame_html_str ) ;
    • :(を示すものは何も更新しません
4

1 に答える 1

0

したがって、以下の 2 行は、私が望んでいたものを取得するための回り道です (子 iframe の HTML 全体を更新します)。ただし、ヘッドが更新されても、iframe のヘッドの jQuery は実行されません。

誰かが理由を知っていますか?

HTML の innerHTML を更新しているので、最初の行は "" と "" を取り出します。

var subtxt = new_iFrame_html_str.substring(6, txt.length-9);
top.frames['framesetFrame_name']
   .frames['iframe_name']
   .document.body.parentNode.innerHTML = subtxt;
于 2010-05-12T14:47:36.377 に答える