被flash执行的js方法,书写的时候,需要注意的

特别是在IE6下

字符串的拼接

不要用var str = “aaa”+”bbb” 会报错

arr.push arr.join 测试也是会报错

推荐 var str = ”;str += ‘aaa’; str += ‘bbb’;

不要注释

注释会影响解析,可能导致 缺少’}’ 之类的bug

关于返回值

不要类似直接return ‘a’ 这样直接返回一个临时创建的字符而应该是 var str = ‘not’; return not;

这些说法没有严谨的进行验证,只是在最近和flash进行交互的时候,在ie下遇到错误,总是查找不到,最后一点点的回滚代码测试错误的时候,发现的。也没法描述其中的原理是什么。仅供参考

2014年6月5日补充

以上情况只适用于这种情况:使用swfobject.js来加载flash,会以flashvar的形式给flash传递一个js的回调函数。出问题的原因是:swfobject.js会把这个js的回调函数的代码复制然后写入标签的flashvar属性中。这种复制会导致下面的问题。

作者: happyWang

Hello, the beautiful world

发表评论