我有几个使用 AS 1/2 根据 xml 数据为状态图着色的 swf。这工作了几年,但现在 xml 文件已更新。swfs 不会加载新信息。就像他们曾经做过一次,现在已经一成不变了。我已经搜索了一周并尝试了几个缓存破坏者,但没有一个奏效。我尝试过的大多数事情都是基于向 xml 加载语句添加日期/时间戳。这些要么没有效果,要么破坏了应用程序。这是代码:
var dp = new Array();
dp_xml = new XML();
dp_xml.ignoreWhite = true;
dp_xml.load('dplaws.xml');
dp_xml.onLoad = function(sucess) {
if (sucess) {
parseFile(dp_xml);
showArray();
}
};
function Map(state, category, qid, question, response) {
this.state = state;
this.category = category;
this.qid = qid;
this.question = question;
this.response = response;
if((substring(response,1,3)=="Yes") && (qid == "b")) {
myColor = new Color(state);
myColor.setRGB(0xA2B5CD);
} else if((substring(response,1,3)!="Yes") && (qid == "b")) {
myColor = new Color(state);
myColor.setRGB(0xcccccc);
}
}
function parseFile(xmlDoc_xml) {
temp = new Array();
for (var a = 0; a<xmlDoc_xml.firstChild.childNodes.length; a++) {
for (var b = 0; b<xmlDoc_xml.firstChild.firstChild.childNodes.length; b++) {
temp[b] = xmlDoc_xml.firstChild.childNodes[a].childNodes[b].firstChild.nodeValue;
}
n = new Map(temp[0], temp[1], temp[2], temp[3], temp[4]);
dp.push(n);
}
}
function showArray(){
for (var z = 0; z<dp.length; z++) {
trace(dp[z].state);
trace(dp[z].category);
trace(dp[z].question);
trace(dp[z].response);
trace(dp[z].qid);
}
}
谢谢你的帮助,黛比