javascript - Browser freezes while appending data to DOM -
here's scenario. i've built grid min. 1 max. 132 columns more 10k rows. using knockout data binding. data fetched $.ajax function of jquery. on first call fetches 100 rows , 100 rows on each scroll. if less 100 returns rows.
the browser not freeze when ajax call made browser freezes after ajax call. once we've data @ client side, binds table. browser freezes second or 2 while appending rows data table.
function demodata(args){ var self = this; self.datalist = ko.observablearray(); self.filldata = function () { self.tablelistpager = new scrollpagerforaccordian($("#tblgrid"), 40, self.filldetaildata); $.ajax({ //api call }); self.loaddetaildata(data); } self.filldetaildata = function (pageno) { $.ajax({ //api call }); } self.loaddetaildata = function (res) { self.datalist.push(); } function scrollpagerforaccordian(el, recheight, callback) { } even tried put self.loaddetaildata(data) in web worker still browser freezes.
update: there way load next 100 rows in background , append without freezing browser on scroll ???
update-2
please find below <tbody> structure:
<tbody data-bind="foreach: datalist"> <tr data-bind="foreach: rowvalues()"> <td data-bind="style :{ width :colwidth + 'em' , 'min-width' :colwidth + 'em' , 'max-width' :colwidth + 'em' }"> <!-- ko if: displayflag == true --> <!-- ko if: flagdata == false --> rendering div <!-- /ko --> <!-- ko if: flagdata == true --> rendering div <!-- /ko --> <!-- /ko --> <!-- ko if: displayflag == false --> rendering div <!-- /ko --> </td> </tr> </tbody> how prevent browser freezing in such case ???
i using chrome version 38.0.2125.111 m , have resolve issue chrome view displayed in awsomium control.
Comments
Post a Comment