|
|
|
| Здравствуйте!
С ПРАЗДНИКОМ ПРОГРАММИСТЫ!
Не могу понять, как получить HTML код между тегами <body> и </body>.
Есть два ифрейма:
1й
<iframe name="updater_frame" src="updater.php" </iframe>
|
Код страницы updater.php выглядит так
<html>
<meta http-equiv="refresh" content="6;URL=updater.php">
<body>
00000</p>
<p>11111</p>
<p>222222</p>
</body>
<script language="javascript">
parent.main_frame.document.write(document.getElementsByTagName('body')[0].firstChild.nodeValue);
</script>
</html>
|
Эта страница обновляется каждые шесть секунд и по моим мыслям должна отправлять свой контент заключённый в <body> в другой ифрейм с именем main. Получается, да не всё...
Отправляется только текст до первого встречного тега, в нашем случае до тега </p>.
В итоге в другой ифрейм передаётся только "00000".
В чём тут дело? | |
|
|
|
|
|
|
|
для: blackcement
(13.09.2010 в 12:42)
| | Замените document.getElementsByTagName('body')[0].firstChild.nodeValue на document.body.innerHTML | |
|
|
|
|
|
|
|
для: АЯ
(13.09.2010 в 12:47)
| | Таким образом скрипт тоже копируется, происходит зацикливание... | |
|
|
|
|
|
|
|
для: blackcement
(13.09.2010 в 12:52)
| | Именно ПОЭТОМУ нормальные люди помещают скриптовые блоки между тегами <HEAD> и </HEAD>
Которых у Вас вовсе нет, и Ваш тег <META> (который ТОЖЕ должен быть в заголовке) "висит в воздухе"
<html>
<head>
<meta http-equiv="refresh" content="6;URL=updater.php">
<script language="javascript">
onload = function () {parent.main_frame.document.write (document.body.innerHTML)}
</script>
</head>
<body>
00000</p>
<p>11111</p>
<p>222222</p>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: АЯ
(13.09.2010 в 12:55)
| | Всё работает, спасибо. | |
|
|
|
|
|
|
|
для: АЯ
(13.09.2010 в 12:55)
| | Вот только теперь срабатывает только первый раз, после следующих обновлений ифрейма ничего не меняется. | |
|
|
|
|
|
|
|
для: blackcement
(13.09.2010 в 13:25)
| | Такого не может быть.
Потому что такого не может быть никогда. | |
|
|
|
|
|
|
|
для: АЯ
(13.09.2010 в 14:49)
| | нашёл что-то про регулярные выражения вроде то что надо. | |
|
|
|
|
|
|
|
для: blackcement
(13.09.2010 в 15:30)
| | И что конкретно Вас не устраивает?
Для полного счастья немного измените:
onload = function () {parent.frames.main_frame.document.write (document.body.innerHTML)}
|
| |
|
|
|
|
|
|
|
для: АЯ
(13.09.2010 в 17:18)
| | http://www.savinsk.ru/chat/index.html
Взгляните пожалуйста.
Попробуйте добавить текст. | |
|
|
|
|
|
|
|
для: blackcement
(13.09.2010 в 19:24)
| | Добавлял - добавляется.
Обновлял - обновляется.
Вы способны РУССКИМИ СЛОВАМИ объяснить - что именно Вас не устраивает? | |
|
|
|
|
|
|
|
для: АЯ
(13.09.2010 в 19:43)
| | Кагда нажимаем отправить, то в текстовый файл на серваке дописывается новая строка. В центральном фрейме установлена самообновляющаяся php страница которая выводит в "себя" текст из этого файла и отправляет его в левый фрейм. При первом запуске страницывсё правильно срабатывает. Потом попробуем добавить в текстовый документ сто нулей, в центральном фрейме они появятся, но не передадутся в левый. | |
|
|
|
|
|
|
|
для: АЯ
(13.09.2010 в 19:43)
| | Всё, разобрался это у меня в опере не работает, в ИЕ работает. Странно...
Значит вариант отпадает. | |
|
|
|