UPDATE;
我设法通过断开本地计算机并清除浏览器缓存来重现本地下面解释的此问题。所以真正的问题是;如何从未连接到网络的机器加载air.swf文件?或者是否有另一种从SWF启动AIR应用程序的方法?
我有一个尝试启动AIR应用程序的AS3应用程序 - 它首先加载AIR SWF对象并查找当前安装的版本。我的问题是AIR SWF对象不会加载。我的代码目前如下所示;
private function getInstalledVersion():void {
var airLoader_adobe:Loader = new Loader();
loaderReferences["airLoader"] = airLoader_adobe;
airLoader_adobe.contentLoaderInfo.addEventListener(Event.COMPLETE, function(event:Event):void{
airswf = event.target.content;
trace(new Date(), "-- contentLoaderInfo airswf loaded, status =", airswf.getStatus(), "; fetching currently installed version");
airswf.getApplicationVersion(applicationId, publisherId, updateInstalledVersion);
delete loaderReferences["airLoader"];
});
airLoader_adobe.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function ( event:IOErrorEvent ):void
{
trace(new Date(), "-- contentLoaderInfo IO_ERROR;", event.target, event.toString());
delete loaderReferences["airLoader"];
});
var context_adobe:LoaderContext = new LoaderContext();
airLoader_adobe.load(new URLRequest('http://airdownload.adobe.com/air/browserapi/air.swf'), context_adobe);
}
现在,这在我的本地开发环境中运行良好。并在本地测试环境中。但出于理由,它在客户环境中失败了IO_ERROR;我在日志中得到以下信息......
Thu Oct 23 15:41:31 GMT+0100 2014 -- contentLoaderInfo IO_ERROR; [object LoaderInfo] [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2036: Load Never Completed. URL: http://airdownload.adobe.com/air/browserapi/air.swf"]
我有点不知道是什么导致这种情况,因为我无法在本地重现此错误。我告诉安装了AIR(如果我在本地卸载AIR,我会得到与显示的不同的错误)。我知道PC无法访问互联网,但如果我从网络断开连接则不再需要它。
我唯一能想到的是Windows PC上有一个策略阻止在我的SWF应用程序中加载AIR - 但我不知道这可能是什么。
在这里,有没有人对可能出现的问题有任何指示?
感谢。
答案 0 :(得分:0)
您是否正在AS3项目中下载air.swf?为什么不直接编译AIR项目?
您是否尝试在未连接到互联网的计算机上下载air.swf?当然,如果您没有连接,您无法从互联网上下载某些内容吗?
客户环境是什么意思?"你是说它可以在你的电脑上运行而不是你的客户吗?或者是你在自己的计算机上运行的开发者模式"和"客户模式?"这是什么意思?
您是否尝试过下载其他内容?就像来自服务器的随机图像?这有相同的结果吗?
很抱歉将这些问题放在"答案中,"但我觉得评论太长了。让我知道,也许我可以帮忙搞清楚