XML кэшируется в локальном тестировании - PullRequest
0 голосов
/ 17 марта 2010

Мой вопрос касается загрузки XML. Мне нужно избегать xml-кэширования.

На веб-сервере методика добавляет случайный параметр для перезагрузки каждый раз, когда файл XML. Но при локальном тестировании (в Flash CS4 IDE, CTRL + Enter) следующие строки невозможны:

var my_date : Date;
path = "toto.xml?time="+my_date.getSeconds()+my_date.getMilliseconds();

Есть ли какая-нибудь хитрость, чтобы обойти эту проблему? Я читал на другом форуме о методе "delete", мы удаляем объект xml и затем воссоздаем один новый.

В моем случае я положил: myXML = null; myXML = new XML ( loadedData ); Но это совсем не работает.

Я нашел что-то интересное, но для Air 1.0, к сожалению, с cacheResponse. В AS3 я нашел:

var loader     : URLLoader  = new URLLoader();
var urlRequest : URLRequest = new URLRequest( xmlUrl );
var header     : URLRequestHeader = new URLRequestHeader ( "pragma", "no-cache" );
urlRequest.requestHeaders.push(header);

Но это не работает.

Я потратил много часов на эту проблему, если у кого-то есть хорошее решение ... Спасибо.

Ответы [ 2 ]

1 голос
/ 21 сентября 2010

Недавно я начал использовать прокси-сервер отладки, который позволил мне полностью отключить кэширование, но прежде чем я это сделал, я использовал этот небольшой фрагмент ActionScript для решения этой проблемы:

import flash.system.Capabilities;

var url:String = "foo.xml";
if (Capabilities.playerType == "StandAlone" || Capabilities.playerType == "External") {
    // running locally, cache busting not required
} else {
    // running in browser
    url += "?rnd=" + Math.random();
}
0 голосов
/ 24 октября 2010

Крупный тролль, но: Прагма не лучший вариант для управления кешем. Потратьте некоторое время на изучение кеширования: http://www.mnot.net/cache_docs/#PRAGMA

И после всего этого добавление случайного числа в конец строки URL-запроса по-прежнему является верным способом избавиться от всего этого обезьяньего бизнеса с помощью кэширования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...