您的位置:首页 > 其它

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

2017-08-02 17:17 337 查看
用户反馈在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 );
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: