我有一些javascript会生成一大堆HTML,然后将其插入到网页中。
在Firefox中,代码几乎瞬间运行;但在Chrome中,代码会阻止浏览器,大约需要10秒钟才能完成。
如何改善用户体验?我想加快Chrome中的代码速度,或者不阻止代码阻止我显示微调器。
我已经尝试了很多东西,我不打算在这里列出它们。
Here is a jsfiddle with a running, simplified example.
以下是代码,减去非常大的数据数组:
(请注意,underscore.js用于简洁)
var optionsHtml = _.map(data, function(value){
return '<option value="' + value.id + '">' + value.name + '</option>';
}).join('');
var selectHtml = '<select multiple>' + optionsHtml + '</select>';
var fieldSet = document.getElementById('myid');
fieldSet.innerHTML = selectHtml;