Web Uploader在低版本IE下无法显示Flash的一种情况

Posted I am a slow walker,but I never

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web Uploader在低版本IE下无法显示Flash的一种情况相关的知识,希望对你有一定的参考价值。

用户反馈在IE 8下无法正常显示Web Uploader控件,并已安装了Flash插件。调试发现在内部抛出了Runtime Error的错误,关键代码如下:

Runtime.create = function( opts, orders ) {
    var type, runtime;
    
    orders = orders || Runtime.orders;
    $.each( orders.split( /\s*,\s*/g ), function() {
        if ( factories[ this ] ) {
            type = this;
            return false;
        }
    });
    
    type = type || getFirstKey( factories );
    
    if ( !type ) {
        throw new Error(‘Runtime Error‘);
    }
    
    runtime = new factories[ type ]( opts );
    return runtime;
};

可以发现是对应的FlashRuntime并未找到。查看源代码发现在注册FlashRuntime时候有一个版本判断,如果没有符合最低版本要求则不注册。查看用户安装的Flash版本确实低于该要求。

FlashRuntime.register = function( name, component ) {
    component = components[ name ] = Base.inherits( CompBase, $.extend({
    
        // @todo fix this later
        flashExec: function() {
            var owner = this.owner,
                runtime = this.getRuntime();
    
            return runtime.flashExec.apply( owner, arguments );
        }
    }, component ) );
    
    return component;
};
    
if ( getFlashVersion() >= 11.4 ) {
    Runtime.addRuntime( type, FlashRuntime );
}

以上是关于Web Uploader在低版本IE下无法显示Flash的一种情况的主要内容,如果未能解决你的问题,请参考以下文章

split方法在低版本IE浏览器上无法解析的问题

Fine Uploader文件上传组件

web uploader的demo怎样导入css文件

上传文件时用form.submit提交的时候在低版本的IE中报拒绝访问的错误

了解Web Uploader

Web Uploader文件上传插件