我在Flex 3上使用ExternalInterface。我们实际上使用flex来压缩大量的DOM数据,所以这个特别用于LARGE数据。
进一步调查,如果存在限制,这是否具有普遍性? (IE.Silverlight)
首先,我要说明这是由没有经验的软件工程师制作的应用程序完成的。这是一个我们需要通过压缩数据来购买时间的应用程序,以便我们可以构建一个长期解决方案。不幸的是,我们没有其他选择。
背景:这是一个实际上是网络电子表格的应用程序。我们的长期解决方案是制作Office业务应用程序。
答案 0 :(得分:1)
不,Flash不会对ExternalInterface通信施加任何大小限制。
答案 1 :(得分:0)
我认为确实如此,或者还有一些其他配置可以控制它。我正在使用FileReference对象测试文件上传,并希望通过外部接口调用将服务器发送的数据传回主机页面。下面是我的UPLOAD_COMPLETE_DATA事件处理程序的片段
private function onFileUploadCompleteData (e:DataEvent):void
{
var file:FileReference = FileReference(e.target);
Alert.show("onFileUploadCompleteData : " + e.data );
if(ExternalInterface.available && callBackOnUploadCompleteData.length > 0)
{
var data:Object = new Object();
data.FileName = file.name;
data.ServerData = e.data;
//data.ServerData = e.data.substr(0, 50);
ExternalInterface.call(callBackOnUploadCompleteData, data);
}
}
此事件被触发但是从未调用过我的javascript。如果我取消注释将返回数据修剪为前50个字符的行,它将开始工作并正确调用javascript。
闪存(10.2)或IE9(我正在使用的)强加了尺寸限制,或者我还缺少其他东西。