以IE为核心的常用浏览器,如遨游Maxthon、腾讯TT、TheWorld世界之窗 等,Maxthon刷新后,无法访问flash暴露的函数。
IE没有此问题。

研究发现,使用container.innerHTML = ''<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 方式创建的flash,刷新或第二次调用创建时,没有初始化暴露函数。

解决办法有:

1.使用document.write创建flash。
缺点是,只能在页面加载过程中调用,若在页面加载后调用,新写的内容会替换掉原网页内容;

2.在swf url后面添加随机数,强迫浏览器重新加载swf。
缺点是,不能利用浏览器缓存,浪费服务器带宽;

3.在使用innerHTML创建了flash后,检查暴露函数如果不存在,即调用__flash__addCallback(flashObj, "funcName");人工初始化暴露函数。
此方法为胡萝卜独家发现,优点明显,强烈推荐!

转自:http://hi.baidu.com/huhe/blog/item/76b5ccbfec700d0c18d81f81.html

posted on 2011-08-02 17:15  andy.liao  阅读(265)  评论(0编辑  收藏  举报