0

在我的单页JS-app中,我决定以HTML/JS某种JIT方式动态加载部分。我找到了两种方法,使用JQuery

第一的:

$("#target_div").load("html_and_js.html");    
// the HTML file contains both HTML` and the corresponding JS code 

第二:

$("#target_div").load("thtml_only.html", function() {
    $.getScript('js/js_only.js');
}); // now the JS is kept separatelly from HTML 

我想知道您对这两种方法的优缺点的经验和意见。

在构建单页AJAX app时,我对以下方面特别感兴趣:

  • 如果进行大量动态加载/删除,浏览器性能 - 现代浏览器为 DOM 保留多少内存?
  • DOM 结构是否保持安全和清洁?
  • 当相应的 DIV(#target_div在我的示例中)被删除时 - JS 是否也从浏览器内存中删除?最终的内存泄漏?

每一个意见都受到高度赞赏。

4

1 回答 1

0

从架构的角度来看,您将表示层与可能保存在 javascript 中的业务逻辑分开 - 总是好的。

将您的 javascript 分离到一个单独的文件中可以让您更轻松地缩小它,并重新使用您在 javascript 文件中开发的任何功能。

此外,在第二个选项中,只有在 html 完全加载后才会加载 javascript。虽然根据经验,我总是建议 javascript 尽可能靠近 HTML 文档的末尾,但在某些(尽管很少见)情况下,您需要在页面加载期间而不是之后运行 javscript 的某些部分,因此,第二种方法(首先加载 html,然后加载 javascript)不允许此 javascript 运行。虽然......它可以让您将需要运行的稀有 javscript 放入您的纯 HTML 页面(允许使其不是仅 HTML),并将其余的 javascript 分开以在最后运行的页面。

只是我的意见,希望对你有帮助

库尔特

于 2013-05-27T08:55:39.250 回答