Flash с передачей параметра - файла xml

Материал из AOW

Перейти к: навигация, поиск

Содержание

Суть проблемы

Довольно часто возникают задачи, связанные с написание флэш-контейнера, которому необходимо передать xml-файл с настройками, текстами, ссылками, путями и другими техническими нюансами, используемыми контейнером для выполнения его прямой задачи. в 100% из 100% случаев возникает одна и та же проблема: при попытке передать во флеш адрес файла xml с данными, флэшка не находит его. Исследования показали, что флэш-контейнер ищет файл относительно своей локальной директории или добавляет название xml-файла к пути страницы, которая в данный момент открыта, а должна искать относительно корневого каталога системы aow-sc3 (он, как правило, совпадает с корневым каталогом сайта http://site.com/, но не всегда http://site.com/aow-sc3/). Скорее всего, флешеры забывают ставить / (слэш, который означет что путь должен быть относительно корневого каталога сайта) перед путем получения xml-файла.

Решени проблемы

Класть xml и swf в корневик сайта - это не выход и так делать мы не будем. Поэтому вот просьба и инструкция к действию всем флэшерам, читающим эту статью, соответственно находящимся у нас в штате или на разовом подряде:

  1. swf файл будет лежать по адресу site.ru/main_res/swf/ или где-нибудь в другой папке внутри main_res. При этом, если мы возьмём, и перенесём движок на другое доменное имя, должен сохраниться работающий контейнер, поэтому искать ресурсы контейнер должен корректно
  2. xml файл может лежать где угодно в папке base (учитываем внутреннюю вложенность)
  3. наш движок мы менять не будем, поэтому будьте добры

Пример

Имеем сайт site.ru В шапке сайта висит меню на флэше, пункты которого ведут на или иные страницы. Названия пунктов и ссылки на страницы мы передаём во флэшку посредством xml-файла. В саму флэшку мы передаём путь к файлу. Допустим он лежит в site.ru/base/content/top_menu/settings.xml Так вот флэш должен уметь удачно подгрузить этот файл, на какой бы странице не находился пользователь: на главной, на вторичной, на странице с вложенностью 10 и так далее. Если мы хотим подгружать разные пункты меню для каждой странице, то мы создадим, к примеру, xml-файл по адресу site.ru/base/content/super_car/top_menu/settings.xml и передадим его во флэш на нужной нам странице через параметр.

  • Параметр для передачи во flash '/base/content/super_car/top_menu/settings.xml' фактическое нахождение файла site.ru/base/content/super_car/top_menu/settings.xml
  • Параметр для передачи во flash '/aow-sc3/base/content/super_car/top_menu/settings.xml' фактическое нахождение файла site.ru/aow-sc3/base/content/super_car/top_menu/settings.xml

Пути в XML

Все пути в xml файле строятся по тому же принципу.

  • Параметр в xml файле '/base/content/super_car/img/1.jpg' фактическое нахождение файла изображения site.ru/base/content/super_car/img/1.jpg
  • Параметр в xml файле '/aow-sc3/base/content/super_car/img/1.jpg' фактическое нахождение файла изображения site.ru/aow-sc3/base/content/super_car/img/1.jpg


Дополнения

Также просим обратить внимание на то, что при обращении к сайту www.site.ru и site.ru файл .xml может не грузится при разных обращениях к сайту. Проблема решается применением crossdomain.xml

Прошу быть внимательными, при разработке flash-контейнеров


Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
+7 495 729 07 98
http://artofweb.ru