我在Flash中定义了一个数组, 想当参数传回到Html页面, 在HTML的脚本里获取总是报错, 如果把回的类型换成简单类型(比如:String)就没有问题, 不是我Flash和数组和Javascript的数组不一样, 或者是别的问题, 请高手指教!Flash中代码:
function PageScript_SetFile(Arrayfile:Array) {
ExternalInterface.call("pageSetFile",Arrayfile);
}Html页面中的代码
function pageSetFile(fileobj) {
   alert(fileobj.lenght);        
}错误信息是: Error: Expected ']'

解决方案 »

  1.   

    flash和javascript只能通过字符串进行交互,你看你代码里写的内容,连方法名字都是字符串?其实flash player也是把那些js代码当字符串传给js的,js调用flash的方法也是一样.两种不同的语言交互,序列化一下对象总是必要的.最好是自己写好自己的对象,重写toString方法,调用的时候比较方便.
      

  2.   

    后台传一个带分隔符的字符串,前台自己分割组装数组就好了。
    var str = "1;2;3";
    var arr = str.split(";");
    alert(arr);
      

  3.   

    其实情况是这样的,我要做一个Flash多文档上传的东东,我要的就是把Flash里Browse完成后, 得到的一个文档列表返回(fileRefList.fileList), 而fileList是Array类型. 不知道有没有什么好的实现方法? 谢谢!
      

  4.   

    fileList里面的元素是字符串吧? 把他们连接成一个大的字符串
    ExternalInterface.call("pageSetFile",Arrayfile.join("?")); //用?连接, 因为路径里不可能有问号
    HTML里面的函数接收到就是字符串, 按"?"再分组就行了
      

  5.   

    fileList里面是Object类型, 所以没有办法实现你上面所说的方法, 请问是不是还有别的方法,或者是让他们可以传递Object类型的方法.
      

  6.   

    Object应该有他的属性保存了路径吧? 你把他取出来再组合不就可以传出来了
      

  7.   

    没有.........这也是我比较郁闷的一点, fileList项是FileReference类型,属性可以用到的也就一个Name(文档名称没有路径)和Size(文档大小)