ExternalInterface передает значения из SWF в iFrame на той же странице

На странице у меня есть iFrame и SWF, я пытался использовать ExternalInterface для передачи значений из SWF в iFrame, кто-нибудь когда-нибудь пробовал это, и повезло? Я не смогу опубликовать код до завтра, потом обновлю, если нужно.

Спасибо в преддверии.

Вот визуализация того, что мне нужно сделать, возможно, если это не удастся сделать так, как я сказал, у кого-то будет предложение другого способа сделать это.

2 ответа

Решение

Попробуйте нацелить кадр. Это должно работать с одним фреймом на странице, иначе вам придется изменить индекс.

duhFrame = window.frames[0]
targetElement = duhFrame.getElementById('someIframeElement');

Если это не работает для вас, используйте LocalConnection и поместите скрытый SWF-файл в файл iframe.
LocalConnection является глобальным для браузера, поэтому имейте в виду, что если два окна браузера открыты, вы получите два фрейма, соединяющихся с одним именем, и получите несколько забавных результатов.
Поэтому измените имя соединения через строку запроса и flashvars.
Это настоящий хакерский обходной путь, но он сработает.

[РЕДАКТИРОВАТЬ]
Еще одна вещь - убедитесь, что ваша функция обратного вызова javascript вызывается, так как у ExternalInterface возникают серьезные проблемы с доменом при работе в файловой структуре, а не в домене (например, щелчок по запуску в редакторе). Попробуйте загрузить на свой сервер и измените код для встраивания, чтобы разрешить это. Также не забудьте обновить свой crossdomain.xml.

Вы не можете получить доступ к iframes извне. Это соображения безопасности, и браузеры будут и должны блокировать такие попытки.

Другие вопросы по тегам