Flash AS2: открытие других SWF-файлов с использованием относительных путей на сетевом диске - PullRequest
0 голосов
/ 27 марта 2012

Выпуск

Мы не можем получить оригинальный файл .SWF для загрузки файлов партнера .SWF. Хотя тег <object> будет загружать свой файл должным образом, .SWF не может загружать в него другие файлы .SWF. ActionScript автоматически генерируется через «Поведение» AS2 и в основном вызывает либо loadMovieNum(file, this), либо this.LoadMovie(file), в зависимости от того, как он был загружен ранее. Каждая группа .SWF, которые ссылаются друг на друга, будет существовать в общей сетевой папке на диске.

Факты

  • Клиент использует функцию «Поведения» в ActionScript 2.0
  • Указанное поведение заключается в загрузке других файлов .SWF по тому же пути в зависимости от события onRelease ()
  • Ни Клиент, ни мы не владеем Flash и ActionScript.
  • .SWF будет размещаться в HTML внутри пользовательского приложения
  • Программное обеспечение программно загружает HTML из потока, а не из файла.
  • Указанный HTML использует стандартный тег <object> для размещения Flash .SWF
  • Основной .SWF находится под подключенным сетевым диском (например, «K: \») в ряде подпапок.
  • Группа .SWF будет находиться в одной папке
  • Нашей контролируемой средой является WinXP + SP3 и Flash 9 с крайне ограниченными возможностями обновления.
  • Они сильно против использования абсолютных путей, так как это повлияет на повторное использование определенных групп .SWF.

Используя Process Monitor и отключая с помощью "base" <param>, мы увидели следующее:

  1. Без параметра он пытается найти .SWF в качестве значения реестра под AboutURL. Вероятно, это побочный эффект нашего приложения, которое изначально указывало на «about: blank» перед динамической загрузкой HTML.
  2. Используя полный путь ("K: \ test \ sub \") в качестве базы, он пытается найти SWF-файл в корне "C: \"
  3. Тестирование с использованием реального HTML-файла (который еще не может быть протестирован с помощью приложения) с указанием полного пути без буквы диска ("\ test \ sub \") приведет к переходу по этому пути с того же диска, что и HTML. Учитывая наше ограничение («about: blank»), это, вероятно, будет либо «C: \» ИЛИ Registry.

Вопрос

Возможно ли это с помощью любого HTML / JavaScript с нашей стороны, или нам понадобится какой-нибудь код ActionScript, который будет определять текущий путь SWF, используйте его для динамического получения местоположения других SWF (также по тому же пути) , а затем попробуйте научить этого клиента, как реализовать скрипт? Опять же, они (и мы) мало что знаем о Flash; они использовали «Поведение», чтобы попытаться заставить это работать.

1 Ответ

0 голосов
/ 27 марта 2012

Просто совет: рассмотрите возможность использования веб-сервера для размещения вашей флеш-памяти, если у вас есть какие-либо шансы сделать это с вашим приложением. Загрузка из файла по локальной сети вызовет множество проблем, которые трудно решить, и вы, возможно, закопались здесь.

...