locked
loading tables in IE 8 RRS feed

  • Question

  • I’m hoping someone might have some insight on an issue I’m currently experiencing with loading tables in IE 8. We’re loading a few grids using jquery and ajax with paging, sorting and filtering functionalities. For some reason when the tables are loaded in IE 8 (compatibility mode turned off) it seems to freeze for about  12 – 15 seconds before showing the tables, this issue doesn’t happen in any other browsers. The interesting issue is if compatibility mode is turned on we don’t experience this delay; however, since the site was built standards compliant turning the compatibility mode on causes other forms not to work so that can’t be a solution. I’m trying to make these tables load ideally just as fast in IE 8 with compatibility mode turned off as they did while compatibility mode was turned on. The users are only interested in using IE 8…

     

    This issue specifically happens when building the cache for the tables while not in compatibility mode:

     

                      function buildCache(table) {

                           

                            if(table.config.debug) { var cacheTime = new Date(); }

                           

                           

                            var totalRows = (table.tBodies[0] && table.tBodies[0].rows.length) || 0,

                                  totalCells = (table.tBodies[0].rows[0] && table.tBodies[0].rows[0].cells.length) || 0,

                                  parsers = table.config.parsers,

                                  cache = {row: [], normalized: []};

                           

                                  for (var i=0;i < totalRows; ++i) {

                                 

                                        /** Add the table data to main data array */

                                        var c = table.tBodies[0].rows[i], cols = [];

                                 

                                        cache.row.push($(c));

                                       

                                        for(var j=0; j < totalCells; ++j) {

                                              cols.push(parsers[j].format(getElementText(table.config,c.cells[j]),table,c.cells[j]));     

                                        }

                                                                           

                                        cols.push(i); // add position for rowCache

                                        cache.normalized.push(cols);

                                        cols = null;

                                  };

                           

                            if(table.config.debug) { benchmark("Built cache for " + totalRows + " rows", cacheTime); }

                           

                            return cache;

                      };

     

     

    It seems to breeze through the above while compatibility mode is turned on! Any suggestions would be greatly appreciated.

     

    Thanks,

    • Moved by Max Wang_1983 Thursday, April 28, 2011 5:57 PM forum consolidation (From:Developer Discussions)
    Friday, August 20, 2010 8:07 PM