IE的Uploadify / swfobject参数问题

时间:2010-02-02 19:14:34

标签: swfobject uploadify

我已经在应用程序中使用了uploadify几年,它一直运行良好。当我升级到2.1.0版本时,它现在与swfobject 2.2捆绑在一起。

在firefox,safari和chrome中,文件上传和一切都很完美。但是,在所有版本的IE中,javascript都没有正确地将任何参数传递给flash文件。

调试buttonImg例如在uploadify js中工作正常,但是从flash文件内部读取为undefined。同样,这只是IE。

什么可能导致IE不将js参数传递给flash对象?我正在运行最新的flash版本。

我已经在这里检查了其他相关帖子,似乎没有人解决这个问题。完全没有javascript错误。 Flash上​​传程序加载甚至可以正常工作,但只能使用默认值。

1 个答案:

答案 0 :(得分:0)

我已将问题进一步缩小,但仍然不明白发生了什么。在SWFOjbject 2.2第436行中,javascript试图用新对象及其参数替换“el”元素。

当我警告“标准杆”时,我会看到参数列表,并附上我期望的flashvar。

<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="allowScriptAccess" value="sameDomain">
<param name="flashvars" value="uploadifyID=fileInput&amp;pagepath=/clients/WhackCMS/admin/js/tinymce/plugins/whackupload/&amp;buttonImg=http%3A//192.168.0.4/clients/WhackCMS/admin/img/btn-browse.png&amp;script=http://192.168.0.4/clients/WhackCMS/admin/pages/upload&amp;folder=&amp;scriptData=single-auth-token%3Dd06ac6f98b93d980fe7fa1e24fa91ab3f36622ea%26thumb-size%3D150x150&amp;width=157&amp;height=31&amp;wmode=opaque&amp;method=GET&amp;queueSizeLimit=999&amp;simUploadLimit=1&amp;fileDesc=Images&amp;fileExt=*.jpg;*.jpeg;*.gif;*.png&amp;auto=true&amp;fileDataName=Filedata">

我尝试过默认的el.outerHTML和$(el).replaceWith方法,但是当我尝试查看更新的“el”对象时,我看到的只是一些默认参数:

<OBJECT style="VISIBILITY: visible" id=fileInputUploader classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=157 height=31>
<PARAM NAME="_cx" VALUE="4153">
<PARAM NAME="_cy" VALUE="820">
<PARAM NAME="FlashVars" VALUE="">
<PARAM NAME="Movie" VALUE="http://192.168.0.4/clients/WhackCMS/admin/uploader_tinymce.swf">
<PARAM NAME="Src" VALUE="http://192.168.0.4/clients/WhackCMS/admin/uploader_tinymce.swf">
<PARAM NAME="WMode" VALUE="Opaque">
<PARAM NAME="Play" VALUE="0">
<PARAM NAME="Loop" VALUE="-1">
<PARAM NAME="Quality" VALUE="High">
<PARAM NAME="SAlign" VALUE="LT">
<PARAM NAME="Menu" VALUE="-1">
<PARAM NAME="Base" VALUE="">
<PARAM NAME="AllowScriptAccess" VALUE="sameDomain">
<PARAM NAME="Scale" VALUE="NoScale">
<PARAM NAME="DeviceFont" VALUE="0">
<PARAM NAME="EmbedMovie" VALUE="0">
<PARAM NAME="BGColor" VALUE="">
<PARAM NAME="SWRemote" VALUE="">
<PARAM NAME="MovieData" VALUE="">
<PARAM NAME="SeamlessTabbing" VALUE="1">
<PARAM NAME="Profile" VALUE="0">
<PARAM NAME="ProfileAddress" VALUE="">
<PARAM NAME="ProfilePort" VALUE="0">
<PARAM NAME="AllowNetworking" VALUE="all">
<PARAM NAME="AllowFullScreen" VALUE="false">
</OBJECT>

似乎el元素根本没有被正确替换。当我在firefox和safari中尝试这个时,html会正确更新。