Вопрос № 166755: Вопрос начинающего... Есть два фрейма. Во frame_1 запустил php-скрипт, который что то свое тихонько делает. Но наряду с этим, этот же скрипт должен сказать в своем конце другому фрейму frame_2 выполнить там, у себя некий вполне определенный скри...
Вопрос № 166.755
Вопрос начинающего... Есть два фрейма. Во frame_1 запустил php-скрипт, который что то свое тихонько делает. Но наряду с этим, этот же скрипт должен сказать в своем конце другому фрейму frame_2 выполнить там, у себя некий вполне определенный скрипт. Повесить имя этого второго скрипта где-то на ссылку в frame_1 или прицепить к submit-кнопке формы во frame_1 и указать там target="frame_2"- не пойдет. Причина - интерактивности в frame_1 нету. Как быть ? Спасибо, если кто-то отзовется...
Отправлен: 08.05.2009, 00:49
Вопрос задал: Dkazan (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: hаcpaka
Здравствуйте, Dkazan! Если я правильно Вас понял, frame1 и frame2 находятся в на одной странице и никак не связаны друг с другом (под связью я понимаю вложенность фреймов - например frame2 принадлежит, т.е. находится внутри frame1 или, может быть, frame1 принадлежит frame2). К сожалению в таком случае (если фреймы независимы друг от друга) простого решения вашей проблемы не существует. Причина в следующем: PHP скрипт - это серверный скрипт. Он исполняется на сервере и результатом его исполнения может
стать (а может и не стать :) ) посылка html (ессно также css, js и т.д.) кода браузеру пользователя. Браузер собственно этот код отображает и на этом все. Никакой PHP-составляющей в таком коде быть не может, поскольку, повторюсь, PHP исполняется исключительно нс сервере, а не на клиенте. То есть как только сформирована и отображена главная страница, начинается загрузка содержимого frame1 и frame2. Это содержимое может в свою очередь либо генерироваться PHP-скриптом н
а сервере или подгружаться из готового html документа, в любом случает, документ во frame1 никак не связан с документом во frame2 и передача данных между ними не возможна (вернее не возможна передача данных между генерирующими эти документы PHP скриптами - javascript никто не отменял :) ) Точно также невозможно передать данные из PHP-скрипта формирующего документ во frame1 или frame2 в PHP=скрипт формирующий родительский документ. Однако Вы вполне можете передать в PHP-скрипты формирующие документы
во frame1 или frame2 данные из PHP скрипта, формирующего родительский документ. Используйте для этого GET-запрос, например. И все же не отчаивайтесь. Если проблема не имеет простого решения - не стоит бояться сложного. Некогда умные люди придумали AJAX. Суть этой технологии здесь расписывать нету смысла - скажу лишь, что с её помощью можно посредством javascript кода динамически менять содержимое страницы, а также выполнять серверные скрипты, написанные, например на P
HP. Это означает что javascript-код например в onLoad frame1 может, к примеру, запустить некоторую setTimeOut()-функцию, которая будет периодически следить за состоянием некоторых данных. Как только PHP-код формирующий frame2 изменит эти данные javascript-код в frame1 сможет на такое изменение как-либо отреагировать. Вот Вам ссылка - http://www.xakeponline.info/2007/098/130/1.htm Там довольно подробно описаны решения приминительные в вашем случае. Буду рад, если помог.
С уважением, hacpaka.
Ответ отправил: hаcpaka (статус: 2-й класс)
Ответ отправлен: 08.05.2009, 01:36
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 248818 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.