在大型javascript项目中包含/组织HTML

时间:2010-04-04 13:19:48

标签: jquery html include organization

我有一个相当大的网络应用程序,每个页面上有几个迷你小程序。这些applet几乎总是相同的jquery应用程序。我正在寻找关于如何在我的大项目中组织/包含这些jquery应用程序的较小部分的建议。

例如,每个应用都有几个独立的标签。如果可能的话,我想将每个选项卡存储为单独的.html文件,因为这样可以使开发更容易。

我的要求是: 1)页面加载时,所有html'选项卡'都加载到客户端。我想通过动态请求标签html来避免任何延迟。

2)如果可能,我想尽量减少发送的原始数据。例如,如果该页面上有十个小程序,则最好每次发送一个标签,而不是每个标签发送10次。

问题: 1)我有什么选择'包括'HTML文件/ javascript代码 2)在这种情况下保持开发简单的任何提示?当然,在使用大页面时,必须有一种比编辑一个大型html文件更好的方法。

3 个答案:

答案 0 :(得分:1)

PURE javascript模板引擎对我很有用:http://wiki.github.com/pure/pure/pure-version-2-release-notes

它使用DOM的分支作为其模板 - 您可以使用页面的现有部分,也可以在需要时(或之前)通过XHR请求模板HTML。

PURE将JSON数据应用于模板以呈现结果 - 您可以让它自动执行此操作(通过将HTML中的类映射到JSON中的属性),或使用一组规则获得精细控制,也存储为JSON

渲染速度非常快,而且设置相对容易。

所以 - 在你的例子中你有:

  • “标签”的一组HTML - 将其包含在页面中或使用XHR请求。
  • 通过XHR检索每个选项卡的内容作为JSON对象 - 比发送HTML +内容少得多的数据
  • 使用选项卡模板将JSON渲染到页面上的任何位置。

答案 1 :(得分:0)

要了解您所要求的内容有点困难,但必须要做的一点是您可以使用客户端缓存,如果您在服务器上设置它就可以告诉客户端多次加载相同的文件,但客户端只下载一个副本并重用该副本。 (查询字符串也必须相同,但哈希字符串可能不同)

浏览器和用户不会对大型HTML文件有任何问题(至少不会像我们说的那样长时间<1MB),缓存它可能是带宽开销最小的方法。但是如果您更喜欢使用较小的文件,您可以设置一个PHP脚本来连接您的开发文件,只需将其写入磁盘而不是直接提供,并提供生成的文件。

答案 2 :(得分:0)

您可以使用服务器端包含... 使用JavaScript加载内容不是一个好主意,因为有些人无法访问它。

如果你想在脚本之前加载页面,只需将s元素放在...之前。 当然,将脚本放在远程文件中,以便浏览器使用缓存。

@eBusiness:如果他使用Ajax,我认为浏览器不会使用缓存...... 只有IE从XHR的缓存中获取页面。