PDA

Просмотр полной версии : Не грузится с сайта информация.


Amra Kimmerian
27.05.2007, 22:30
Здравствуйте.
Сделал во флэше сайт, при наборе в адресе нужного URL идет обращение к index.html, он грузит в себя container.swf, который уже в себя загружает сам сайт.
Чтобы вся информация могла обновляться, я все это гружу таким образом, к примеру тексты:
LV.load(serverPath+"ConfigurationRus.txt?"+_global.randomLoader);
знак вопроса и _global.randomLoader (случайная величина) делаю чтобы у юзеров инфа могла обновляться.
container.swf грузит в себя главную swf--ку таким же образом, по случайному числу.
На локальном серваке все получается и грузится, обновление работает.
А вот когда выкладываю на реальный сервер, то ни текстовая инфа, ни картинки - ничего не грузится. Хотя в container.swf таким же образом сам сайт загружается. Ранее, когда я еще не делал случайное окончание у файлов, то все работало на реальном сервере. Тока все время приходилось чистить Temporary Internet Files.
в index-е указал allowScriptAccess - same Domain
по совету здесь на форуме указываю абсолютный адрес источников инфы, т.е. serverPath определен, но не работает загрузка... вместо текста в полях undefined. Что же неправильно в моих действиях?

mozi
28.05.2007, 10:52
у меня
trace(_global.randomLoader);
выдает undefined. Соответственно если это к чему нить прибавлять то и результат будет undefined :)

вот это не устраивает?
load(file_path + "?=Math.random(99999)" );
я лично так всегда делаю.

Amra Kimmerian
28.05.2007, 11:12
Именно устраивает, везде устраивает, а мест таких много... Поэтому я в самом начале написал
_global.randomLoader = Math.random();
А потом ко всем путям при всех загрузках добавляю эту переменную. И трэйс выдает совершенно определенную величину.

Уж не знаю в чем проблема... Где-то советуют полный адрес писать... Ну, как я уже сказал, писал и полный адрес и только относительный... Ан нет! Не грузится информация...

Хмм... mozi, заметил у Вас знак равно ?=Math.random(99999), он обязателен?

mozi
28.05.2007, 11:36
Путь "text.txt?int=123456" означает что надо открыть файл text.txt передав ему параметр(переменную) "int" равный 123456. Раз значение параметра каждый раз разное - то и кэширования нет. Думаю что писать "text.txt?123456" будет бессмысленно - это будет означать передачу каждый раз переменной "123456" равной каждый раз undefined.

Amra Kimmerian
28.05.2007, 11:56
1. Я вот в этих окончаниях еще не разбираюсь, но очень хочется.
Т.е. получается что переменная добавляется в название текстового файла? Или в сам текст этого файла? Тогда как быть с картинками? Наверное все таки в название.

2. На локальном сервере тестировал с такими именами, когда после знака вопроса просто шло случайное число без знака равно и имени переменной и при это все работало. Но правда и адресация у меня там была относительная. Но в Temorary IF все сохранялось заново и все легко обновлялось.

3. в Вашем коде в посте №2
load(file_path + "?=Math.random(99999)"
по-моему ошибка, наверное так надо
load(file_path + "?="+Math.random(99999));
или я ошибаюсь?

4. В этом же коде не обозначено имя переменной. Можно ли так делать или все же обязательно ее указать, как в посте №4?

mozi, не хочу указывать на чьи-то ошибки (наверное из-за спешки), а истинно разобраться только ради!

mozi
28.05.2007, 12:57
1. просто передается переменная. В текст ничего не записывается. Попробую пояснить: если вы вызовите "my.swf?int=555" то ролик при запуске файла my.swf у него в _root будет переменная int равная 555. Если хочется можно ее както обрабатывать. Для текстового файла передача переменных не так актуальна :) но изпользуется тот факт что она попутно избавляет от кэширавания.

2. на "локальном сервере" - имеется ввиду чтото типа Дэнвера? Если да, то даже не знаю в чем дело. Если нет - то что такое "локальный сервер"

3. да нет все ок насчет замечания, естественно кавычки и пременную забыл. следует писать load(file_path + "?int="+Math.random(99999));

Amra Kimmerian
28.05.2007, 13:38
1. теперь понятно.
2. у меня Apache стоит, даже не знаю что такое Дэнвер.
3. понятно.

Буду пробовать.
Спасибо, mozi! Большое спасибо!