Javascript SetVariable可以在FireFox中工作,但不能在Internet Explorer中工作?

Javascript SetVariable可以在FireFox中工作,但不能在Internet Explorer中工作?,javascript,flash,internet-explorer,actionscript,cross-browser,Javascript,Flash,Internet Explorer,Actionscript,Cross Browser,我正在构建一个视频播放器web应用程序,它使用flash进行播放,使用jquery/javascript进行UI。根据编写flash组件的人的设计,我需要使用setVariable在javascript和flash播放器之间进行通信。我在互联网上读到很多人在使用FireFox时遇到问题。我在firefox中设计我的应用程序是因为我想用firebug来帮助我进行开发。现在,整个事情已经完成,我发现setVariable在IE中不起作用。我得到的错误是: 对象不支持属性或方法“SetVariable

我正在构建一个视频播放器web应用程序,它使用flash进行播放,使用jquery/javascript进行UI。根据编写flash组件的人的设计,我需要使用setVariable在javascript和flash播放器之间进行通信。我在互联网上读到很多人在使用FireFox时遇到问题。我在firefox中设计我的应用程序是因为我想用firebug来帮助我进行开发。现在,整个事情已经完成,我发现setVariable在IE中不起作用。我得到的错误是: 对象不支持属性或方法“SetVariable”

下面是一些相关的代码:

我是通过javascript构建html的,所以我就是这样构建播放器的:

var player =
'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0" width="1" height="1" >' +
'<param name="movie" value="/flash/Player.swf?server='+server+'">' +
'<param name="quality" value="high">' +
'<param name="play" value="true">' +
'<param name="LOOP" value="false">' +
'<param name="wmode" value="transparent">' +
'<embed wmode="transparent" src="/flash/Player.swf?server='+server+'" width="1" height="1" play="true" loop="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>' +
'</object>'; 

如有任何建议,将不胜感激。我知道外部接口是cross js flash communique的首选方法,但我没有访问flash文件的权限,也无法更改它,因此请仅使用setVariable给出解决方案。谢谢。

您需要知道的是,嵌入swf文件所需编写的html代码对于某些浏览器是不同的

Firefox和其他基于Netscape的浏览器使用
标记,而IE使用
标记

您可以使用在页面上嵌入swf。
它是一个单一文件的开源库,将为您处理所有跨浏览器的flash嵌入怪癖。
它甚至可以帮助您生成正确的嵌入代码,以便与库一起使用

然后可以从DOM树中按id检索swf,并在正确的对象上设置变量

此外,您应该检查是否可以使用而不是
SetVariable()

干杯

that.player.SetVariable('track',trackNo);