我有一个小小的swf文件,用来播放声音,加入到HTML后,在Firefox/chrome下播放正常,唯独IE8提示
消息: 对象不支持此属性或方法 行: 48 字符: 3 代码: 0 URI: ....
我查看文件中的48,是html标记,不可能有什么冲突。然后又逐个查看js文件,也未发现问题。最后怀疑是swf文件引起ie报错,于是把html中的swf嵌入代码删除,再f5,ie运行正常,因此,必须是AS3的问题。AS3中能与JS冲突的唯有
flash.external.ExternalInterface
方法。查看了敞开给js的3个方法:
ExternalInterface.addCallback(‘play‘, player.play); ExternalInterface.addCallback(‘switch‘, con.change); ExternalInterface.addCallback(‘close‘, player.stop);
swtich的确是js的保留字,遂改之,相应改动后报错依然。
问题在哪呢?play或close是保留字或预留字吗?显然不是。于是又查看AS3中的其它代码,亦未发现问题。
最后抱着试一试的态度,把3个敞开方法一一改掉,最后成
ExternalInterface.addCallback(‘VPlay‘, player.play); ExternalInterface.addCallback(‘VSwitch‘, con.change); ExternalInterface.addCallback(‘VClose‘, player.stop);
Flash导出swf,再运行,结果ie竟然正常了。想不通为何。
Flash与IE奇怪的关键字冲突
时间: 2024-09-06 22:41:07