PDA

Просмотр полной версии : Проблема с путями. Flash + AS + XML + HTML


romap
25.03.2009, 18:49
Есть плеер root/flash/player.SWF
к нему подключени файл со всеми скриптами плеера root/flash/player.AS
есть XML в котором прописан путь на МП3 root/flash/song.XML
и есть мп3 файл root/flash/song.mp3
то есть все файлы плеера лежат в одной папке.

HTML через который запускается swf может находиться в разных местах сервера, в зависимости от раздела сайта: root/index.html, root/eng/reg.html и тд.

Проблема в том, что путь теряется при запуске HTML.
Флеш, xml или .as думает что все файлы находятся в одной папке с HTML, поэтому ничего не работает.

Помогает, если в XML ставить в одну папку с HTML. Но этих папок очень много и это не разумно.

Как решить эту проблему? Может есть хитрый способ указать путь? Может изменить структуру плеера?

ПС: указать абсолютный путь нельзя. У сайта 5 зеркал.

Спасибо за помощь.

iNils
25.03.2009, 18:57
В html, в коде вставляющий swf, нужно добавить параметр BASE, его значение будет указывать на ту папку относительно которой swf будет загружать данные.
То есть, в вашем случае BASE должен указывать на /root/flash/

romap
25.03.2009, 20:23
вроде заработало! спасибо большое.

но! HTML будет всё время прыгать по папкам отнасительно папки с флешем, где то разница на 1 уровень, а где то и на 2. то есть путь в этом параметре нужно будет всё время подстаривать отначительно где сейчас флеш?
или можно как то универсально написать путь?

iNils
25.03.2009, 20:46
Так это и есть универсальное решение. Слеш перед root заставляет использовать абсолютный путь относительно текущего домена.

Archi_xxx
20.06.2009, 00:49
точно такая же ситуация, как можно обойтись без тега BASE ?
так как в документе прописано много чего кроме флеша, летят остальные пути.
Можно ли как то ограничить внутри документа действие сего тега?(тоесть только для флеша)

зы: не могу понять почему указывая fбсолютный путь в ембедах вида http://mysite.com/flash/my.swf флеш все равно не догружает все из своей папки?