FileReference.browse()停止在某些Flash播放器上播放

时间:2010-05-31 12:53:28

标签: flex actionscript-3 flash

当浏览文件对话框打开的时间超过配置的会话超时时,我们遇到与Flex客户端关联的服务器会话超时的问题。似乎在某些播放器上,当FileReference上的浏览或下载正在执行时,播放将停止。这也会导致远程调用被阻止,因此我们的手动保持活动消息不会发送到服务器,从而导致会话超时。

我在文档中搜索了一些有关此内容的信息并发现了它的通知,但它没有明确列出它所做的(不)工作。有谁知道我能找到完整的清单吗?


PS:以下是提及此行为的链接:

  

打电话给   调用FileReference.browse()   FileReferenceList.browse(),或   FileReference.download()方法是   执行,大多数球员将继续   SWF文件播放。

  

打电话给   调用FileReference.browse()   FileReferenceList.browse(),或   FileReference.download()方法是   执行,SWF文件播放暂停   独立和外部版本   Flash Player和AIR for Linux和   Mac OS X 10.1及更早版本

任何人都知道“外置Flash播放器”是什么意思?


PPS:我们在Firefox(10.0.x和10.1.x)上测试了它在Firefox中似乎停止播放,在Windows(10.0.x)上在IE中进行了播放似乎还在继续。

1 个答案:

答案 0 :(得分:1)

不幸的是,你无法做到这一点,它是一个阻塞调用,并且玩家可以在AVM的多个实例之间共享资源(包括线程),以便使用更少的内存。 Chrome,Webkit 2和FF4(3.7?)应该没问题,因为它们将插件隔离在单独的进程空间中,并且Player没有机会这样做。不幸的是,因为它正在阻止,Chrome会弹出一个对话框,抱怨“如果你花时间选择文件,脚本执行的时间太长了”:(

github.com/Adobe/FlashPlayer肯定会很好,不是吗? : - )