来自JQuery的HTML / JS动态加载

时间:2013-05-27 08:39:22

标签: javascript jquery html5 dom single-page-application

在我的单页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

我想了解您对两种方法的优点/缺点的经验和意见。

当我正在构建单页#target_div时,我对以下方面特别感兴趣:

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

非常感谢每一个意见。

1 个答案:

答案 0 :(得分:0)

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

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

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

只是我的意见,希望他们帮助,

库尔特