Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Извлечение (получение) HTML кода между тегами
 
 автор: blackcement   (13.09.2010 в 12:42)   письмо автору
 
 

Здравствуйте!
С ПРАЗДНИКОМ ПРОГРАММИСТЫ!
Не могу понять, как получить HTML код между тегами <body> и </body>.
Есть два ифрейма:


<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".
В чём тут дело?

  Ответить  
 
 автор: АЯ   (13.09.2010 в 12:47)   письмо автору
 
   для: blackcement   (13.09.2010 в 12:42)
 

Замените document.getElementsByTagName('body')[0].firstChild.nodeValue на document.body.innerHTML

  Ответить  
 
 автор: blackcement   (13.09.2010 в 12:52)   письмо автору
 
   для: АЯ   (13.09.2010 в 12:47)
 

Таким образом скрипт тоже копируется, происходит зацикливание...

  Ответить  
 
 автор: АЯ   (13.09.2010 в 12:55)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: blackcement   (13.09.2010 в 13:03)   письмо автору
 
   для: АЯ   (13.09.2010 в 12:55)
 

Всё работает, спасибо.

  Ответить  
 
 автор: blackcement   (13.09.2010 в 13:25)   письмо автору
 
   для: АЯ   (13.09.2010 в 12:55)
 

Вот только теперь срабатывает только первый раз, после следующих обновлений ифрейма ничего не меняется.

  Ответить  
 
 автор: АЯ   (13.09.2010 в 14:49)   письмо автору
 
   для: blackcement   (13.09.2010 в 13:25)
 

Такого не может быть.
Потому что такого не может быть никогда.

  Ответить  
 
 автор: blackcement   (13.09.2010 в 15:30)   письмо автору
 
   для: АЯ   (13.09.2010 в 14:49)
 

нашёл что-то про регулярные выражения вроде то что надо.

  Ответить  
 
 автор: АЯ   (13.09.2010 в 17:18)   письмо автору
 
   для: blackcement   (13.09.2010 в 15:30)
 

И что конкретно Вас не устраивает?

Для полного счастья немного измените:
onload = function () {parent.frames.main_frame.document.write (document.body.innerHTML)}

  Ответить  
 
 автор: blackcement   (13.09.2010 в 19:24)   письмо автору
 
   для: АЯ   (13.09.2010 в 17:18)
 

http://www.savinsk.ru/chat/index.html
Взгляните пожалуйста.
Попробуйте добавить текст.

  Ответить  
 
 автор: АЯ   (13.09.2010 в 19:43)   письмо автору
 
   для: blackcement   (13.09.2010 в 19:24)
 

Добавлял - добавляется.
Обновлял - обновляется.

Вы способны РУССКИМИ СЛОВАМИ объяснить - что именно Вас не устраивает?

  Ответить  
 
 автор: blackcement   (13.09.2010 в 19:49)   письмо автору
 
   для: АЯ   (13.09.2010 в 19:43)
 

Кагда нажимаем отправить, то в текстовый файл на серваке дописывается новая строка. В центральном фрейме установлена самообновляющаяся php страница которая выводит в "себя" текст из этого файла и отправляет его в левый фрейм. При первом запуске страницывсё правильно срабатывает. Потом попробуем добавить в текстовый документ сто нулей, в центральном фрейме они появятся, но не передадутся в левый.

  Ответить  
 
 автор: blackcement   (13.09.2010 в 19:52)   письмо автору
 
   для: АЯ   (13.09.2010 в 19:43)
 

Всё, разобрался это у меня в опере не работает, в ИЕ работает. Странно...
Значит вариант отпадает.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования