Как обновить весь HTML-код дочернего iFrame (заголовок + тело) внутри поста jQuery - PullRequest
0 голосов
/ 11 мая 2010

У меня есть веб-страница чата для Firefox, которая имеет такую ​​структуру

..... Внешний HTML

----- | ...... Frameset Frame

------------ | ...... заголовок: содержит сообщение jQuery, возвращающее данные: rdata = new_iFrame_html_str, вся строка html iFrame, которая должна быть обновлена ​​

------------ | ...... 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);
    • Не обновляется ничего, что показывает: (

1 Ответ

0 голосов
/ 12 мая 2010

Итак, эти две строки ниже - окольный способ получить то, что я хотел (обновить весь HTML-код дочернего iframe) Однако jQuery в заголовке iframe по-прежнему не выполняется, даже если заголовок обновлен.

Кто-нибудь знает почему?

Первая строка убирает "" и "", так как мы обновляем HTMLHHTML

var subtxt = new_iFrame_html_str.substring(6, txt.length-9);
top.frames['framesetFrame_name']
   .frames['iframe_name']
   .document.body.parentNode.innerHTML = subtxt;
...