Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Можно ли заставить флеш грузить не из кэша, а всегда из файла? (http://www.flasher.ru/forum/showthread.php?t=174190)

Nait 19.01.2012 14:27

Можно ли заставить флеш грузить не из кэша, а всегда из файла?
 
Моя флешка динамически загружает данные из txt-файла, но когда я обновляю txt-шник, браузеры грузят его из кэша - со старой информацией. И пока не очистишь кэш, обновить не получается (ctrl+f5 - не помогает). Как-нибудь это можно побороть?

Нет ли какой-нибудь специальной команды в as3? или, может быть, спец.галочки в настройках публикации?

goodguy 19.01.2012 14:35

Все просто, добавляем к запросу случайный параметр:
Код AS3:

var request:URLRequest = new URLRequest("file.txt" + "?" + Math.random());

Можно конечно вопрос и сразу к имени файла прилепить
Код AS3:

var request:URLRequest = new URLRequest("file.txt?" + Math.random());

После этого он всегда будет грузиться не из кэша

TanaTiX 19.01.2012 14:40

goodguy, теоретически не всегда, т.к. есть вероятность (стремящаяся к 0), что при рэндоме будет получено 2 одинаковых значения. Альтернатива - использовать дату.

goodguy 19.01.2012 14:44

Врядли это на столько важно, чтобы беспокоиться о такой небольшой вероятности ;)

Можно еще как-нибудь так:
Код AS3:

var request:URLRequest = new URLRequest("file.txt?" + Math.random() + getTimer());

:D
Но это уже перебор

Nait 19.01.2012 14:45

не очень понял, в чем смысл, но попробовал... выдает ошибку:
Код AS3:

mytext.txt?0.3143477626144886
        at main::cloud/Load()
        at main::cloud()
TypeError: Error #2007: Параметр text не должен быть равен нулю.

у меня же файл текстовой не динамически формируется, а в Блокноте забивается, поэтому у него всегда фиксированное имя - mytext.txt .. или.. в общем, я что-то не догоняю:)

goodguy 19.01.2012 14:56

Эта ошибка не связана с добавлением случайного параметра
покажи как файл загружаешь

Nait 19.01.2012 15:01

ну я идею саму не понял... получается, что программе нужно загрузить файл под именем "mytext.txt?0.3143477626144886". Откуда же такой файл возьмется по указанному пути?

i.o. 19.01.2012 15:03

Цитата:

ну я идею саму не понял...
залей на сервер и попробуй еще раз.

Nait 19.01.2012 15:07

О! и правда, если на сервер залить - то получается.. а я-то у себя на компе проверял.. эко диво - не понял я в чем фишка, но главное, что работает. Всем спасибо большое:)

TanaTiX 19.01.2012 15:13

Локально все что после "?" - часть имени, а на сервере - это параметр. Поставь локально сервер и тестируй на нем. Денвер - ИМХО наиболее простое значение.

goodguy 19.01.2012 17:32

Это и локально работает. У меня в одном проекте файлы лежат в папке bin и грузятся так:
Код AS3:

var randParam:String = Globals.USE_CACHE ? "?" + int(Math.random() * 10000) : ""; // проверяет нужно ли использовать кэш и если не нужно, то randParam будет пустой строкой
var link:String = "objects/" + title + _xtension + randParam;        // тут получается что-то вроде objects/house.swf?9856

Все работает на ура.

iNils 19.01.2012 18:34

Цитата:

Сообщение от goodguy (Сообщение 1057892)
Врядли это на столько важно, чтобы беспокоиться о такой небольшой вероятности ;)

С датой выглядит понятнее, так как номера идут по порядку.

goodguy 19.01.2012 19:04

Меня лично совершенно не парит что там происходит закадрово, попорядку номера или нет. Главное, чтобы работало.
Оба варианта рабочие, обсуждать это смысла не вижу.

GBee 19.01.2012 20:27

Цитата:

Денвер - ИМХО наиболее простое значение.
XAMPP проще, имхо конечно.


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

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