Искусственное кросс доменное return.
Собственно в названии темы постарался отразить сущность вопросы, но не уверен попал или нет.
Значить ситуация такая, есть страница, в ней два iframe. Фреймы оба, принадлежать доменам, отличным от домена страницы. была поставлена задача реализовать прозрачное выполнение js (общение) фреймов с телом страницы. Из вариантов выбрал передачу данных через LSO (flash), был еще вариант window.Postmessage, но от него отказался из-за отсутствия поддержки со стороны IE 7. Теперь к сути вопроса. Структура. <html> //.... head titile & others. <body> //... context <iframe scr="site1.com"></iframe> <iframe scr="site2.ru"></iframe> </body> Внутри каждого iframe висит обработчик который получает данные от flash (SetInterval) и при необходимости исполняет код setTimeout(code,1). Собственно подскажите как сделать возврат результата в тело основной страницы. Сейчас я могу сделать send_to_frame_1('alert(222);');- результатом станет alert, который выведет 222, код исполнится в контексте фрейма. send_to_frame_1('send_to_home(alert(123););');- результатом станет alert 123 который выполнится в контексте основной страницы. (отослал во фрейм, во фрейме вызвал отслыку в основное тело) Во общем передача данных работает, но крайне неудобно, прошу поделится мыслями какова должна быть логическая конструкция обмена/исполнения данных. Ед. условие, чтобы как можно ближе к прозрачному js, вызвал функцию - получил результат ее исполнения. |
send_to_frame_2(code [, handler]) handler вызывается, после того, как срабатывае code. |
Цитата:
|
переданный в send_to_frame() код вызывается не сразу, а по таймауту.
следовательно ждать сразу ответа смысла нет - нужно ставить callback, если ответ нужно обрабатывать. а как именно не знаю, какая там у вас архитектура. наверное в той функции, которая по setInterval вызывается и исполняет код, результат этого кода получать и следует. |
Есть ли способ исполнения строки в качестве кода, с возможностью возврата return ?
|
Часовой пояс GMT +3, время: 12:43. |