傲游浏览器2. BUG

傲游浏览器2.* BUG
http://bbs.maxthon.cn/viewthread.php?tid=128626

傲游页面刷新后,JS无法访问flash中指定监听的方法





问题类型:  浏览
傲游浏览器版本:  2.1.5.1250 UNICODE
IE 版本:  6.0
操作系统:  Windows 2003
操作系统版本:  原版安装
安装方式:  全新安装
是否导入过旧版设置:  否
是否可重现/出现几率:  每次都能重现
联系方式: MSN:yizhangye@hotamil.com

傲游使用innerHTML方式赋值给div生成的flash,当刷新页面后,JS无法访问flash中的指定方法.
但是直接写<object ... </object> 方式就可以实现控制flash内部的指定了监听的方法.

现在测试发现和IE版本无关.只要刷新傲游页面就会发生无法访问flash内部函数的问题.

这里把代码放上来了.
第一种:object.html 直接<object>...</object>
第二种:jswrite.html 用JS给DIV设置innerHTML.显示flash.


[General]
Version = 2.1.5.1250 UNICODE
Nick =
Email = SharedAccount
Proxy = IE
[Modules]
MxProxy2.dll = 1.0.0.4106
MxTool.dll = 1.0.0.1
MxFav.dll = 2.0.0.11
MxPp.dll = 1.0.0.250
MxSk.dll = 1.0.0.414
Maxzlib.dll = 1.2.3.0
MxDb.dll = 3.5.3.125
MxWebBoost.dll = 1.0.2.1267
MxPageSearch.dll = 1.0.0.1892
MxCapScr.dll = 1.0.0.83
MxSpellCheck.dll = 1.0.0.71
MxGuardian.dll = 1.0.0.666
MxHistory.dll = 1.0.0.302
MxUp.exe = 1.0.0.50
MxDownloadServer.exe = 1.0.0.8251
[Settings]
Auto Popup Filter = 1
Content Filter = 1
Float Filter = 0
Text Filter = 0
Multi-Thread Tab = 1
IE Version = 6.0.3790.3959
Debug Mode = 0
[Plugins]
[Filters]







确实是有这个Bug,直接打开后第一次可以访问到Flash绑定的方法,刷新后就不可以了。
猜测傲游在第二次可能对Flash做了缓存之类。导致Flash无法收到onload事件,从而无法完成对ExternalInterface进行初始化。
IE6,7,8,Firefox都无这类问题。
傲游与腾讯TT都存在这个问题。

我的解决方法:
针对傲游和腾讯TT,在请求的FlashSWF的URL路径后增加 url+'?'+Math.random(), 强制其不进行缓存,可以解决出现的Flash刷新后无法调用的Bug。

BTW: 浏览器兼容性对于前端开发人员确实很痛苦。所以楼上别太生气。毕竟傲游在中国的用户群还不小。