SWF 无法在浏览器中加载本地 XML 文件
SWF cannot load local XML file in browser
当在浏览器中 运行 时,我需要本地 SWF 来加载本地 XML 文件。 SWF 和 XML 本地放置在我的硬盘上的同一目录中,据我所知,这应该没问题吗?但是在浏览器中 XML 不会加载 - 输出显示为 "begin" 并且我无法触发任何事件。而当 运行 直接来自 Animate 或在 Flash 播放器中时它可以工作并且输出显示为 "success".
package {
import flash.display.MovieClip;
import flash.errors.IOError;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.events.SecurityErrorEvent;
import flash.events.HTTPStatusEvent;
public class main extends MovieClip {
private var output:TextField;
public function main() {
output = new TextField();
output.width = 600;
output.text = "begin";
addChild(output);
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, function(e:Event){
output.text = "success";
});
urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, function(e:Event) {
output.text = "http status event";
});
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, function(e:Event) {
output.text = "io error";
});
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(e:SecurityErrorEvent) {
output.text = "security error";
});
urlLoader.load(new URLRequest("test.xml"));
}
}
}
正如评论中所建议的,我尝试将 "Global Security Settings Panel" 设置为 "Always allow",但没有任何区别。
Local-with-filesystem 设置很棘手,最简单的方法是转到 Flash Player Global Security Settings 并将您正在调试的文件夹添加到始终受信任的位置列表中。检查 "Always Allow" 选项可能不起作用,不知道为什么,正如我所说 - 棘手。
当在浏览器中 运行 时,我需要本地 SWF 来加载本地 XML 文件。 SWF 和 XML 本地放置在我的硬盘上的同一目录中,据我所知,这应该没问题吗?但是在浏览器中 XML 不会加载 - 输出显示为 "begin" 并且我无法触发任何事件。而当 运行 直接来自 Animate 或在 Flash 播放器中时它可以工作并且输出显示为 "success".
package {
import flash.display.MovieClip;
import flash.errors.IOError;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.events.SecurityErrorEvent;
import flash.events.HTTPStatusEvent;
public class main extends MovieClip {
private var output:TextField;
public function main() {
output = new TextField();
output.width = 600;
output.text = "begin";
addChild(output);
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, function(e:Event){
output.text = "success";
});
urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, function(e:Event) {
output.text = "http status event";
});
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, function(e:Event) {
output.text = "io error";
});
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(e:SecurityErrorEvent) {
output.text = "security error";
});
urlLoader.load(new URLRequest("test.xml"));
}
}
}
正如评论中所建议的,我尝试将 "Global Security Settings Panel" 设置为 "Always allow",但没有任何区别。
Local-with-filesystem 设置很棘手,最简单的方法是转到 Flash Player Global Security Settings 并将您正在调试的文件夹添加到始终受信任的位置列表中。检查 "Always Allow" 选项可能不起作用,不知道为什么,正如我所说 - 棘手。