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

2021-06-15 19:03

阅读:417

标签:key   false   用户   低版本   get   div   版本判断   err   each   

用户反馈在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的一种情况

标签:key   false   用户   低版本   get   div   版本判断   err   each   

原文地址:http://www.cnblogs.com/junchu25/p/7275009.html


评论


亲,登录后才可以留言!