zoukankan      html  css  js  c++  java
  • 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 );
    }
  • 相关阅读:
    精算师的前世今生
    失落的C语言结构体封装艺术
    关于联合的一些介绍
    变量的声明和定义
    C/C++内存分配区
    探寻周瑜“前世今生”
    SpringBoot中使用AOP
    springBoot中的事物管理
    springBoot整合多数据源
    spingBoot整合mybatis+generator+pageHelper
  • 原文地址:https://www.cnblogs.com/junchu25/p/7275009.html
Copyright © 2011-2022 走看看