![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 23.01.2011
Сообщений: 2
|
![]()
Здравствуйте, подскажите пожалуйста по какой причине может не работать мой пример и что нужно поменять для его работы
Есть 3 страницы, p1.html, p2.html и p3.html. Страница p1 представляет собой описания 2-х фреймов, в которые загружаются соответственно страницы p2 и p3.Содержимое страницы p1: <html><head>head> <frameset rows="*,200px" border=0 name="VW"> <frame src="p2.html" name="Main" scrolling="no"> <frame src="p3.html" name="Indata" scrolling="no"> </frameset> </html> Cтраница p2 должна забирать по срабатыванию обработчика на событие onClick или нажатие клавиш данные из страницы p3(которая периодически обновляется).У p2 cледующее содержание: <html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head> <body onClick="bP();"> <SCRIPT LANGUAGE> function bP() { civ=window.parent.Indata.document.b ody.innerHTML alert(civ); } </script> <form action="" method="post" name="EGS" enctype="text/plain"> <input name="e1x" value="10" type="text" maxlength="6" size="4"> <input name="e1y" value="10" type="text" maxlength="6" size="4"> </form> </body> </html> У страницы p3 : <html><head> <META HTTP-EQUIV="REFRESH" CONTENT="20;URL=http://127.0.0.1/Game/In_data.html"></head> <body onLoad="Move_data2();"> <SCRIPT LANGUAGE> function Move_data2() { window.parent.Main.EGS.e1x.value=99 8 window.parent.Main.EGS.e1y.value=97 8 } </script> </body> </html> Здесь показаны попытки забрать содержимое из фрейма Indata двумя способами – через innerHTML и помощи функции Move_data2, которая должна сама обновить значения полей формы EGS после своей загрузки.Проверялось на локальном вебсервере, путем подмены значений e1x и e1y на странице p3 до ее перезагрузки.Первый раз все нормально, в следующий ничего не происходит. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 31.10.2010
Сообщений: 53
|
![]()
window.parent.Indata.document.b ody.innerHTML
пробел разве не видите? Я бы лучше сделал, чтобы все функции располагались в документе-родителе, а фреймы только ссылались на них. да и не надо вообще использовать frameset, это очень неудобно и поисковикам не нравится. |
![]() |
![]() |
![]() |
#3 | |
Новичок
Джуниор
Регистрация: 23.01.2011
Сообщений: 2
|
![]() Цитата:
По поводу функций, как сделать надежнее (при обрыве связи например): функция из документа-родителя должна забирать данные или все же пусть фрейм сам, после того как обновится исправит глобальные переменные.В первом случае при несинхронности исполнения функции (нельзя сказать точно когда она выполнится) и готовности данных (периодичесчки) фрейма нужно обработать логику дальнейшего поведения, это либо ждать, теряя время (а мне оно важно).Во втором функция просто получит старые значения из глобальных переменных, в другой раз (более удачный) получит свежие данные.Может тут есть какие нибудь нюансы ? Поисковиков моя задумка не касается поэтому выбор либо за frame, либо iframe, если учесть что разница между ними в гибкой возможности позиционирования iframe на странице, что наверняка требует больше памяти и логики работы браузера - что мне совершенно не нужно в данном случае то и выбрал frame Спасибо что уделили время ![]() |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 31.10.2010
Сообщений: 53
|
![]()
на самом деле, памяти iframe ест ничуть не больше.
по поводу стабильности, если в документе (любом) произошло событие load, то с этого момента документ полностью находится в памяти и соединение с сервером обрывается. Поэтому принципиальной разницы, где находятся функции, нет. Но, если весь код страницы находится в одном и том же месте, то такой код выглядит логичней. В данном случае, самым логичным было бы яваскрипт расположить в главном окне. Тем не менее, сейчас уже не существует задумки, которую невозможно реализовать БЕЗ фреймов. Сейчас это только распотрошение кода на несколько документов и усложнение обращений из javascript |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение данных с сайта. | Rapala | Работа с сетью в Delphi | 3 | 19.05.2010 08:09 |
Получение данных | mish@ | Работа с сетью в Delphi | 0 | 28.04.2010 15:08 |
получение данных | avis | Win Api | 0 | 19.12.2009 19:24 |
Получение данных с БД. | urgu_st | SQL, базы данных | 5 | 13.01.2009 15:11 |
Получение типа данных | Proof | БД в Delphi | 2 | 14.05.2008 20:38 |