2009-12-07 53 views
1

我在Flex 3上使用ExternalInterface。我们实际上使用flex来压缩大量的DOM数据,所以这是专门用于LARGE数据的。Flex 3中的ExternalInterface是否具有数据大小限制?

为了进一步调查,如果有限制,这是普遍的吗? (IE。Silverlight)

首先,让我声明这是由一个由缺乏经验的软件工程师制作的应用程序完成的。这是一个我们需要通过压缩数据来购买时间的应用程序,以便我们可以构建一个长期解决方案。不幸的是,我们没有其他选择。

背景:这是一个实际上是网络电子表格的应用程序。我们的长期解决方案是制作Office业务应用程序。

+0

我不知道有任何上限 - 只是出于好奇:是什么让你选择flex压缩,而不是在js本身做? – Amarghosh 2009-12-08 05:49:37

回答

1

不,Flash不会对ExternalInterface通信施加任何大小限制。

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(这是我正在使用的)施加的大小限制,或者还有其他东西丢失。

+1

base64encode数据在传递给ExternalInterface之前 – 4esn0k 2012-01-20 04:59:11

+0

谢谢,我需要测试这个。有没有简单的方法来编码在Flex? – 2012-03-03 00:20:36

相关问题