Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2012, 22:55
Новичок на форуме
Отправить личное сообщение для ychetka Посмотреть профиль Найти все сообщения от ychetka
 
Регистрация: 23.03.2012
Сообщений: 7

Искусственное кросс доменное 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, вызвал функцию - получил результат ее исполнения.
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2012, 11:36
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

send_to_frame_2(code [, handler])

handler вызывается, после того, как срабатывае code.
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2012, 12:34
Новичок на форуме
Отправить личное сообщение для ychetka Посмотреть профиль Найти все сообщения от ychetka
 
Регистрация: 23.03.2012
Сообщений: 7

Сообщение от vasa_c Посмотреть сообщение
send_to_frame_2(code [, handler])

handler вызывается, после того, как срабатывае code.
Ты имеешь ввиду получить результат из settimeout ?
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2012, 14:00
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

переданный в send_to_frame() код вызывается не сразу, а по таймауту.
следовательно ждать сразу ответа смысла нет - нужно ставить callback, если ответ нужно обрабатывать.
а как именно не знаю, какая там у вас архитектура.
наверное в той функции, которая по setInterval вызывается и исполняет код, результат этого кода получать и следует.
Ответить с цитированием
  #5 (permalink)  
Старый 25.03.2012, 12:02
Новичок на форуме
Отправить личное сообщение для ychetka Посмотреть профиль Найти все сообщения от ychetka
 
Регистрация: 23.03.2012
Сообщений: 7

Есть ли способ исполнения строки в качестве кода, с возможностью возврата return ?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы в javascript harmony. Mахmахmахimus Оффтопик 4 16.03.2012 12:17
Наболевший this. Не могу понять Harvey Общие вопросы Javascript 6 19.08.2011 17:30
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
Проблема с if...else parzh-junior Элементы интерфейса 18 04.12.2009 17:17
Модуль для работы с геометрией окна JSprog Библиотеки/Тулкиты/Фреймворки 25 31.08.2009 12:54