【问题标题】:Data load time jQuery multiselect plugin IE vs FF数据加载时间jQuery多选插件IE vs FF
【发布时间】:2012-09-12 13:17:46
【问题描述】:

我有一个应用程序使用 jQuery MultiSelect 插件来处理多个选择框(最多 20 个以上)。该应用程序正在客户端浏览器上“构建”(是的......它应该构建在服务器上,但这不是我的选择)并且每个选择框可以包含多达 15,000 个动态加载的选项(通过 WebFocus,如果这很重要) .正在抓取数据(通过 jQuery AJAX get 调用)。作为测试,我将 7400 个数据点(通过插件)加载到单个选择框中。在 IE8 上,这需要 104 秒。在 FF 上只需要 4 秒。

这是典型的还是正在发生的事情我没有看到???

相关代码在这里:

// Get xml data & append to selectbox
    $.ajax({  
        type: "GET",  
        url: "test.xml",  
        dataType: "xml",  
        success: function(xml){  
        $(xml).find('ReportOptions').each(function() {  
            var cNum = $(this).find('cusipnum').text();         // assign vars to incoming data
            $('#cusip').append('<option>'+cNum+'</option>');    // append data to options
        });  
            $('#cusip').multiselect('refresh'); 
    },  
        error: function (xhr, ajaxOptions, thrownError) {
            alert("Error Status:"+xhr.status+", "+thrownError);
         }
    }); 

【问题讨论】:

    标签: jquery internet-explorer firefox plugins multi-select


    【解决方案1】:

    是的,这是典型的。如果您在 IE9+ 中运行它,您应该会看到改进。我发现任何大型风格的应用程序或 jquery 的 DOM 操作在 IE8 中都非常慢。话虽如此,可以对这段代码进行改进。

    使用 IE8 开发工具 (F12) 分析此代码的性能配置文件。 $('#cusip').append 应该是这里的大消费者。您正在强制 jquery 在每个循环中查找“#cusip”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 2015-05-02
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      相关资源
      最近更新 更多