http://demo.swfupload.org/v250beta2/simpledemo/index.php似乎不再适用于IE。有没有解决这个问题?
我得到一个红叉,而'按钮'不可点击。
我正在运行IE 8。
答案 0 :(得分:11)
我可以在Windows 7上运行IE9重现问题,但仅限于虚拟机上。无论如何,由于this post,我能够通过修补swfupload.js(v2.2.0)来修复问题,修改了第230行的某个地方。
SWFUpload.prototype.getFlashHTML = function () {
// Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
// ADD THESE LINES -->
var iefix = '';
if(navigator.userAgent.search(/MSIE/) > -1){
iefix = 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
}
// MODIFY THIS LINE: (add ' + iefix + ')
return ['<object ' + iefix + ' id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
'<param name="wmode" value="', this.settings.button_window_mode, '" />',
...
似乎非常类似的修复可能对2.5.0有帮助。
编辑:对于某些启用了名为“VMware Adobe Flash Optimizer”的IE插件的VM来说,这个修补程序似乎还不够。出于某种原因,优化器将Flash影片转换为白色框(如果您知道单击它,则实际上是可点击的。)
坏消息是我发现无法在我的代码中检测或禁用优化程序加载项的存在。所以我无法确定用户是实际看到按钮还是仅看到白框。我找不到好的解决方法,只添加了非Flash上传表单的后备链接。
答案 1 :(得分:2)
不仅是你有问题。它也在swfuploader网站上。看看:http://demo.swfupload.org/v220/simpledemo/index.php
答案 2 :(得分:1)
您可能有一个附加功能正在阻碍。尝试在“No Add-Ons”模式下运行IE 8。来自http://support.microsoft.com/kb/936213:
“方法3:在”无加载项“模式下运行Internet Explorer
某些网站使用Internet Explorer加载项(如ActiveX控件和浏览器工具栏)来提供增强的浏览体验。如果加载项损坏或加载项与Internet Explorer冲突,则可能会发生错误。要确定错误是否由加载项引起,请在“无加载项”模式下运行Internet Explorer。为此,请按照下列步骤操作:
如果没有发生错误,则问题是由通常与Internet Explorer一起加载的其中一个加载项引起的。在这种情况下,请使用以下选项之一。
选项1:重置Internet Explorer
将Internet Explorer重置为其默认配置。此步骤还将禁用已安装的任何加载项,插件或工具栏。尽管此解决方案很快,但这也意味着,如果您希望将来使用这些附加组件,则必须重新安装它们。要重置Internet Explorer设置,请使用方法4。
选项2:使用“管理加载项”工具确定导致问题的加载项
使用Internet Explorer中的“管理加载项”工具单独禁用每个加载项,以确定哪个加载项导致错误。为此,请按照下列步骤操作:
Internet Explorer 8
使用此过程确定哪个加载项导致错误后,您可以禁用该加载项。或者,您可以卸载安装该插件的软件。我们还建议您与提供该插件的软件供应商联系,以获得其他故障排除和支持。“