数据加载时间jQuery multiselect插件IE vs FF

时间:2012-09-12 13:17:46

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

我有一个应用程序,它使用jQuery MultiSelect插件来选择几个Box(最多20个)。应用程序正在客户端浏览器上“构建”(是的......它应该构建在服务器上,但这不是我的选择),每个选择框可以包含多达15,000个动态加载的选项(如果重要的话,通过WebFocus) 。正在抓取数据(通过jQuery AJAX get call)。作为测试,我将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);
         }
    }); 

1 个答案:

答案 0 :(得分:1)

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

使用IE8 Developer Tools(F12)分析此代码的性能配置文件。 $('#cusip')。append应该是这里的大消费者。你强迫jquery在每个循环上查找'#cusip'。