代码之家  ›  专栏  ›  技术社区  ›  Raja

将HTML页面拆分为更小的块并使用AJAX将其组合是更好还是将其作为单个页面更好?

  •  2
  • Raja  · 技术社区  · 15 年前

    我们正在处理一个包含多个选项卡的页面,其中包含所有静态信息,如标签和文本框,用于检索注册信息。我们使用jQueryUI选项卡,因此所有选项卡详细信息都作为div显示在同一页面中。我的同事觉得很难管理这个页面,因为它有将近800行html代码。如果我们将页面分割成多个html文件,并使用AJAX为选项卡提供数据,这会不会是一个性能问题?

    提前谢谢。

    当做 拉贾

    7 回复  |  直到 15 年前
        1
  •  3
  •   momo    15 年前
    1. 只在需要时加载所需内容。如果可能的话,没有别的了。
    2. 自由使用AJAX,但编写AJAX返回代码,以便通过AJAX调用或由服务器包含,然后
    3. 返回第一次加载时从服务器可见的页面部分。至少,返回大部分页面,只留下轻量级的非关键方面供以后使用AJAX加载。

    如果主页变得太长以至于很难维护,那么将主页分成单独的功能部分是合理的。为此使用服务器端包含。注意,这与#2完全吻合!如何分解代码取决于您自己。

    在所有情况下,都要尝试编写可重用的组件来处理事情,而不需要大量重复相同的代码。在有意义的地方使用额外的间接层(并不总是这样)。

        2
  •  2
  •   alemjerus    15 年前

    这绝对是一个宗教问题。如果您的开发环境不支持书签或其他东西,请创建多个文件,并在上载之前使用一些简单的脚本将它们组合起来。
    当只使用第一个页面时,使用AJAX是合理的,其他页面是可选的。

        3
  •  1
  •   Vivin Paliath    15 年前

    如果是,可能需要将页面拆分为不同的页面。但是不要通过AJAX加载它们,而是将它们包含到主页中。性能不应该是个问题。

        4
  •  1
  •   Bela    15 年前

    如果主页中只有初始的html选项卡,那么它可以提高性能。然后在加载主页之后,使用AJAX拉入其他选项卡。

        5
  •  1
  •   Jeff    15 年前

    这个页面的正常用法是什么?

    如果用户一次访问所有页面是常见的,那么一次加载所有页面会更快(因为请求数量更少)。它还有一个好处,就是对人类和机器人更加友好。

    从可用性方面来说,另一个问题是:所有内容都必须在一个页面中吗?你能把它分成多个小页面吗?您能否省略可选字段,并在需要时稍后询问它们?

    如果您使用的是服务器端语言,您应该能够通过includes(或类似功能)将页面拆分为更小的文件。

        6
  •  0
  •   Justin Niessner    15 年前

    我不一定认为这是一个性能问题。事实上,您可能会注意到初始页面加载稍微快了一些。根据客户端和服务器之间连接的性能,加载这些选项卡可能需要更长的时间。

    如果我是你,我会更加关注将AJAX引入应用程序会产生什么影响(特别是搜索引擎索引,如果这对你很重要的话)。通过AJAX加载的内容将无法索引,您必须弄清楚如何优雅地处理选项卡加载时间等。

        7
  •  0
  •   DisgruntledGoat    15 年前

    就个人而言,我会使用渐进式增强。首先,将每个选项卡拆分为一个单独的页面。每个页面显示选项卡行,每个选项卡链接到相应的页面。

    然后使用ubobstrusivejavascript向每个选项卡添加onclick方法,这些方法不是加载整个新页面,而是通过AJAX加载选项卡中的内容。