以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