Ошибка в веб-приложении Flex с TabNavigator, загруженном с использованием SWFLoader — браузеров WebKit

#apache-flex #webkit #flexbuilder #swfloader #tabnavigator

#apache-flex #webkit #flexbuilder #swfloader #tabnavigator

Вопрос:

Я использую приложение flex (A) для загрузки другого приложения flex (B) с помощью SWFLoader (оба созданы с использованием Flex Builder 3 некоторое время назад).

Все работает нормально, как и ожидалось, во всех браузерах для настольных компьютеров (IE, FF, Chrome, Safari).

Однако, если я использую TabNavigator в приложении flex (B), то при нажатии на любую из вкладок оно выгружает приложение flex (B) и повторно запускает приложение flex (A). Похоже, что такое поведение ограничено браузерами на базе Webkit (Chrome и Safari), остальные браузеры (IE, FF) работают нормально.

Интересно, может ли кто-нибудь пролить некоторый свет на это.

Большое спасибо

С уважением, Клем

Комментарии:

1. Я не уверен, в чем проблема или какой вопрос вы задаете.

2. Прошу прощения, если это кажется запутанным! позвольте мне попробовать еще раз..

3. У меня есть учебное приложение (Flex App A), которое загружает учебные ресурсы (Flex App B) с помощью SWFLoader. Однако, если учебный ресурс (приложение Flex B) содержит компонент TabNavigator, то, похоже, он не работает в браузерах Webkit (Safari amp; Chrome), т. е. он выгружает учебный ресурс (приложение Flex B) и повторно запускает учебное приложение (приложение Flex A). Спасибо за вашу помощь.

4. Я понимаю лучше; но у меня нет решения. Можете ли вы опубликовать код?

Ответ №1:

Устранено:

Замена файлов шаблонов HTML последней копией из Flash Builder 4.5, похоже, решила проблему. Похоже, они заменили AC_OETags.js с swfobject.js

Частично спасибо Harui за подсказку в правильном направлении.

Пытался изучить обновление кода до версии 4.5, но, похоже, выявил множество несовместимостей, вместо этого создал тестовый / фиктивный проект в версии 4.5 и использовал html-файл, созданный для замены старых HTML-файлов, созданных Flex Builder 3.0

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