javascript - 使用 Javascript 呈现 HTML 的策略

标签 javascript html json dhtml html-rendering

我通过 AJAX 调用从服务器获取一个胖 JSON 数组,然后处理它并使用 Javascript 呈现 HTML。我想要的是让它尽可能快。

在我的测试中,Chrome 领先于 FF,但浏览器仍需要 5-8 秒来呈现约 300 条记录。

我考虑过延迟加载,例如在 Google Reader 中实现的延迟加载,但这与我的其他用例背道而驰,例如能够获得即时搜索结果(在客户端对我们在JSON 数组)和多个过滤器。

我注意到的一件事是,FF 和 Chrome 在遍历 JSON 数组中的所有项目之前不会呈现任何内容,即使我在每次循环后明确地将新创建的元素插入到 DOM 中(只要我有HTML)。我想要实现的只是:强制浏览器尽快呈现。

我尝试延迟调用(数组中的每一项都将由延迟函数处理)但遇到了其他问题,因为似乎不再保证执行顺序(数组下方的一些项将是在它之前的其他项目之前处理)。

我正在寻找任何提示和技巧。

最佳答案

尝试:

  • 将行插入一个数组,然后简单地

     el.innerHTML = array.join("");
    
  • 使用 document fragments

    var frag = document.createDocumentFragment();
    for ( loop ) {
        frag.appendChild( el );
    }
    parent.appendChild( frag );
    

关于javascript - 使用 Javascript 呈现 HTML 的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3141284/

相关文章:

javascript - 数字格式化函数 : What algorithm is used for rounding values ending in 5?

javascript - 关联数组上的删除与拼接

javascript - 如何在 Vuetify 中制作 strip 化的 v-data-table?

html - 在 Chrome 中删除 <video> 元素后音频继续

html - 当我将智能手机翻转到横向时,响应 div 高于 100%。如何解决?

javascript - 在 iPhone 和 Android 上通过 JavaScript 检测手指滑动

php - 如何向 php 添加 +1 值

javascript - 获取 API 无法加载文件 :///C:/Users/woshi/Desktop/P5/p5/JSON/birds. json。对于 CORS 请求,URL 方案必须是 "http"或 "https"

php - 获取 JSON 数据

php - 将 JSON 数据存储为平面文件或数据库