Apache flex URLLoader取消加载任何浏览器事件

Apache flex URLLoader取消加载任何浏览器事件,apache-flex,flash,browser,urlloader,Apache Flex,Flash,Browser,Urlloader,我在一个页面中有一个flash元素,它根据一些复杂的查询加载一个图表,这些查询可能需要一分钟才能加载。我使用以下代码调用查询: var chartData:URLLoader = new URLLoader(); chartData.addEventListener(Event.COMPLETE, onLoaded); chartData.addEventListener("httpStatus", onHttpStatus); chartData.load(new URLRequest(cha

我在一个页面中有一个flash元素,它根据一些复杂的查询加载一个图表,这些查询可能需要一分钟才能加载。我使用以下代码调用查询:

var chartData:URLLoader = new URLLoader();
chartData.addEventListener(Event.COMPLETE, onLoaded);
chartData.addEventListener("httpStatus", onHttpStatus);
chartData.load(new URLRequest(chartURL));
我监听完整事件或任何服务器错误事件

我的问题是,当flash加载URL时,用户希望转到另一个页面:浏览器在接受用户请求之前等待URL完全加载。正如我所说,加载此图表可能需要一分钟的时间,如果我的用户想要更改页面,那么等待会有点烦人

这里是我的问题:是否有一个事件可以监听来自浏览器的任何事件(单击另一个链接,单击浏览器的“后退”按钮?如果我做这件事的方式不对,请毫不犹豫地告诉我,我真的不习惯用flash编程


谢谢。

我想我理解你的描述。您可能想尝试一些东西:

文件上传HTTP服务器

如果文件非常大,您可能希望将它们加载到另一个HTTP服务器上,如Nginx。查看(我确信Apache也有同样的功能)。这基本上允许您上传文件,而不会让用户感觉到任何影响

唯一的问题是它相当复杂,你不知道什么时候上传完文件。但它们确实有一些示例说明如何显示,因此您可以这样做,并且在完成时(在javascript中),向flash发送一条消息,调用类似于
事件.COMPLETE
处理程序的内容

浏览器事件

使用Javascript拦截浏览器事件,以防止用户在下载完成之前离开页面(不推荐,因为这可能会激怒用户):

  • 奥涅西特
  • 一次
  • onblur(当他们单击其他地方时)
请查看以下示例:

希望有帮助,
Lance

事实上,情况正好相反,我希望当用户单击其他内容时,flash停止加载。。。但我认为,您在javascript中捕获浏览器事件的提示是将此信息发送到我的flash文件的一个很好的解决方案。谢谢,我试试这个。