Как встроить Flash, который пытается получить доступ к XML в своей исходной папке - PullRequest
0 голосов
/ 29 марта 2010

На моем сервере хранятся различные флэш-файлы.

Для этого примера - вот структура каталогов:

Файлы> Пример>

-> example.swf
-> example.xml

Итак, на отдельной веб-странице, хранящейся в корне моего сервера.

...
<param name="movie" value="http://www.example.com/Files/Example/example.swf">
...


Теперь проблема приходит. Потому что .swf пытается получить доступ к example.xml ... который НЕ хранится в корневом каталоге. Как я могу решить эту проблему?
(Я бы предпочел не использовать iframe)

Ответы [ 3 ]

3 голосов
/ 29 марта 2010

Вы можете использовать атрибут BASE тега object / embed для проигрывателя Flash.

По умолчанию относительные пути во Flash разрешаются относительно страницы, содержащей Flash, а не относительно файла swf. Атрибут BASE позволяет указать другой URL-адрес, другой путь к каталогу, который используется для разрешения относительных URL-адресов.

Так что для вашего примера выше, вы можете добавить это:

<param name="base" value="http://www.example.com/Files/Example/">
1 голос
/ 29 марта 2010

Вам нужно поместить XML-файл с междоменной политикой в ​​корень вашего сервера.

   <? xml version="1.0">

   <cross-domain-policy>
       <allow-access-from domain="www.yoursite.com" /></allow>
   </cross>

Таким образом, SWF получит доступ к XML.

Подробнее:
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html

0 голосов
/ 29 марта 2010

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

# .htaccess
RewriteEngion On
RewriteRule path/where/flash/expects/the/file.xml the/actual/path.xml [L]
...