Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.01.2009, 02:37
chugart вне форума Посмотреть профиль Отправить личное сообщение для chugart Найти все сообщения от chugart
  № 1  
Ответить с цитированием
chugart

Регистрация: Jan 2009
Сообщений: 18
По умолчанию Обновление файлов из которых ролик берет данные

Добрый день!
У меня есть ролик кторый строит некторый график. Данные для графика ролик загружает из xml расположенного на сервере.
Файл xml обновляется администратором (заливается новый файл с новыми данными).

Проблема:
при обновлении файла xml флэш ролик его перестает видеть (в тех текстовых полях в которые я заgисываю значения из файла прописывается "underfined"). Флэш его не видит до тех пор пока не этот файл xml не отроешь через браузер.

Как победить этот глюк.
Загружаю данные таким образом

Код AS1/AS2:
//загрузка xml с данными 
var mnth_xml:XML = new XML();
mnth_xml.ignoreWhite = true; //игнорировать отсnупы и табуляцию в файле
mnth_xml.load( "http://www.domen.ru/ss.xml" ); //загружаем xml
 
mnth_xml.onLoad = function (suc:Boolean) {
	var dtd:XMLNode = mnth_xml.firstChild;
 
	_root.mn1.mn1TextVar = dtd.childNodes[2].attributes.text;
	_root.mn2.mn2TextVar = dtd.childNodes[1].attributes.text;
	_root.mn3.mn3TextVar = dtd.childNodes[0].attributes.text;
}
От чего может возникнуть этот глюк и как ег опобедить.
Спасибо!

Старый 13.01.2009, 03:17
zurkis вне форума Посмотреть профиль Отправить личное сообщение для zurkis Найти все сообщения от zurkis
  № 2  
Ответить с цитированием
zurkis
 
Аватар для zurkis

Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
ну если файл xml заливаеться заново с новыми данными, то попробуй после заливки обновить страницу браузера в которой твоя флешка, при загрузке флешка считает новые данные из xml, если тебе надо чтоб данные считывались как-то по другому, тут другой способ есть.
Либо попробуй считывать xml с параметром, потому как xml файл кэшируеться и возможно не все данные подхватывает при обновлении
__________________
Пока я жив, Вы горем обеспечены

Старый 13.01.2009, 03:52
chugart вне форума Посмотреть профиль Отправить личное сообщение для chugart Найти все сообщения от chugart
  № 3  
Ответить с цитированием
chugart

Регистрация: Jan 2009
Сообщений: 18
Ну конечно же я обновляю страницу браузера....
Проблема в том что после заливки обновленного xml флэш перестает его видеть. т.е. тотже самый ролик считывает файл с таким же названием по такому же адресу... все тоже самое что и до обновления.
И ролик начинает видеть xml только после того как из браузера откроешь сам этот xml.
Я думал что проблема какянить с кэшем. Кэш в php везде отключил:
PHP код:
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
  
header('Cache-Control: no-store, no-cache, must-revalidate'); 
  
header('Cache-Control: post-check=0, pre-check=0'FALSE); 
  
header('Pragma: no-cache'); 
Здесь какая то фишка обновления или кэширования. Надеюсь на вашу помощь !

Старый 13.01.2009, 04:22
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А каким образом файл отдается?
ЗЫ. вариант с рандомным параметром добавленным к xешу при запросе ХМЛя - самый простой, но лучше переименовывать ХМЛ и сообщать об этом флешу во FlashVars каждый раз, когда нужно обновить (чтобы, когда не нужно обновлять, все-таки брать его из кеша).
__________________
Hell is the possibility of sanity

Старый 13.01.2009, 15:15
chugart вне форума Посмотреть профиль Отправить личное сообщение для chugart Найти все сообщения от chugart
  № 5  
Ответить с цитированием
chugart

Регистрация: Jan 2009
Сообщений: 18
Т.е., насколько я понимаю, в случае переименования файла, нужно руками изменять соответвующую vars в текстовом файле например. которая отвечает за имя загружаемого xml ?

Добавлено через 29 минут
Вроде с загрузкой с параметром все получилось. НО возник следующий вопрос.
Сайт доступен по доменам с www и без www, т.е. http://www.domen.ru и http://domen.ru. На хосте прописан псевдоним для домена.

В AS загрузка файла идет с домена вида http://www.domen.ru/file.xml. И соответсвенно когда загружаешь сайт http://domen.ru файл xml не подцепляется (потомучто видимо флэш считает что он лежит в другом домене, а загрузка файлов с других доменов отключена).

НУжно чтобы заходя и на http://www.domen.ru и на http://domen.ru ролик нормально отображался. Что нужно прописать в AS чтобы домены с www и без не различались. Может чтонибудь нужно на хосте прописать?

Спасибо!

Добавлено через 53 часа 31 минуту
на хосте эту пролему решить не удалось.
В AS просто написал
Код AS1/AS2:
var domen:String = "http://domen.ru"; //в случае если пользователь зашел на домен без www 
my_xml.loadXML(domen +"myxml?" + rnd ); //загрузка xml с заранее сгенерирвоанным случайным параметром
my_xml.Load = function (suc:Boolean) {
    if ( !suc && (domen == "http://domen.ru") ) {//в том случае если пользователь зашел на домен с www
        domen = "http://www.domen.ru"; ..заменить домен на имя с www
        my_xml.loadXML(domen +"myxml?" + rnd ); //загрузка xml с заранее сгенерирвоанным случайным параметром 
    }
    else { //обработка и дальнейшие дейсвия }
}

Старый 16.01.2009, 15:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Да, нужно было на хосте положить crossdomain.xml описывающий политики безопасности и разрешающий загрузку с поддоменов этого сайта. А вообще, если по уму, то в таком случае делать ссылки абсолютными - самому себе палки в колеса ставить.
__________________
Hell is the possibility of sanity

Старый 18.01.2009, 02:58
chugart вне форума Посмотреть профиль Отправить личное сообщение для chugart Найти все сообщения от chugart
  № 7  
Ответить с цитированием
chugart

Регистрация: Jan 2009
Сообщений: 18
А можно не относительные ссылки ставить в моем случае?
Насколько я понимаю ролик загружается в браузере пользователя и работает на локальной машине и именно с локальной машины загружает уже в себя xml с домена. Как в таком случае указать не абсолютный путь?

Старый 18.01.2009, 09:53
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Поставить http:// =)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 18.01.2009, 15:35
chugart вне форума Посмотреть профиль Отправить личное сообщение для chugart Найти все сообщения от chugart
  № 9  
Ответить с цитированием
chugart

Регистрация: Jan 2009
Сообщений: 18
Поясните плз. Какой тогда синтаксис, нигде не встрачал такой записи?
Т.е. если у меня на хосте лежит ролик в папке http://domen.ru/flash/1 и там же лежит файл xml, то как я должен прописать отноитльный путь?
Вот так?
Код AS1/AS2:
my_xml.loadXML("http://")
или
Код AS1/AS2:
my_xml.loadXML("http://./flash/1")
?

Старый 20.01.2009, 16:55
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 10  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Код AS1/AS2:
my_xml.loadXML("fileName.xml");
__________________
Griver

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:22.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.