2010-05-31 115 views
3

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

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


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 Player”是什么意思?


PPS:我们在Firefox中测试了这个在Linux(10.0.x和10.1.x),它似乎停止播放和Windows(10.0.x)在IE中播放哪里似乎还在继续。

回答

1

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

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