http://demo.swfupload.org/v250beta2/simpledemo/index.php似乎在IE中不再起作用。有没有解决的办法?

我得到一个红叉,并且“按钮”不可单击。

我正在运行IE 8。

最佳答案

我可以重现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有帮助。

编辑:似乎对于某些启用了IE附加组件“VMware Adob​​e Flash Optimizer”的VM而言,此修补程序还不够。出于某种原因,优化器会将Flash影片变成一个白框(如果您知道单击它,则实际上是可单击的)。

坏消息是我找不到在我的代码中检测或禁用优化程序加载项的方法。因此,我无法确定用户实际上是看到按钮还是仅看到白框。我发现没有好的解决方法,仅向非Flash上​​传表单中添加了一个后备链接。

关于swfupload在IE下不再起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2204871/

10-16 03:52