Uploadify/swfobject parameter issues with IE
I've been using uploadify in an app for a few years and it has always worked fine. When I upgraded to the 2.1.0 versi开发者_高级运维on, it now comes bundled with swfobject 2.2.
In firefox, safari, and chrome, the file upload and everything works perfectly. However, in all versions of IE, the javascript is not passing any of the parameters to the flash file properly.
Debugging the buttonImg for example works fine inside of the uploadify js, but from inside the flash file it reads as undefined. Again, this is only IE.
What could cause IE to not pass js parameters to the flash object? I'm running the latest flash version.
I've checked into the other related posts here and no one seems to have solved this issue. No javascript errors at all. The flash uploader loads and even appears to work, but only with default values.
I have narrowed the problem down a bit further but still don't understand what's happening. In SWFOjbject 2.2, line 436, the javascript is attempting to replace the "el" element with the new object and it's parameters.
When I alert out "par" I see the list of parameters, complete with the flashvar that I would expect.
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="allowScriptAccess" value="sameDomain">
<param name="flashvars" value="uploadifyID=fileInput&pagepath=/clients/WhackCMS/admin/js/tinymce/plugins/whackupload/&buttonImg=http%3A//192.168.0.4/clients/WhackCMS/admin/img/btn-browse.png&script=http://192.168.0.4/clients/WhackCMS/admin/pages/upload&folder=&scriptData=single-auth-token%3Dd06ac6f98b93d980fe7fa1e24fa91ab3f36622ea%26thumb-size%3D150x150&width=157&height=31&wmode=opaque&method=GET&queueSizeLimit=999&simUploadLimit=1&fileDesc=Images&fileExt=*.jpg;*.jpeg;*.gif;*.png&auto=true&fileDataName=Filedata">
I've tried the default el.outerHTML and the $(el).replaceWith methods, but when I try to view the updated "el" object, all I see are some default parameters:
<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>
It just seems like the el element is simply not being replaced properly. When I attempt this in firefox and safari, the html updates properly.
精彩评论