使用javascript动态创建页面内容比加载不同的页面更快?

时间:2012-01-17 14:17:38

标签: javascript jquery asp.net

我正在设计一个包含不同页面的网站,每个页面的内容都与textbox, label, button, gridview等一样。 之后,我想在jquery中使用$("#xx").load(page url Address)加载每个页面,以防止在页面必要时进行回发。

这种方法更快或遵循方法:

我只有一个页面,例如:default.aspxjavascript文件。 页面内容将使用javascript在createElement的一个页面中动态创建,而不是加载不同的页面。

在第一种方法中,所有aspx元素都应转换为html,然后必须将html元素转移到客户端,但在第二种方法中,我们不会有任何html元素传输除了default.aspx页面以外,元素将在运行时使用javascript创建。

2 个答案:

答案 0 :(得分:0)

第一种方法要好得多,因为您在需要时会对页面的某些部分收费。

需要刷新一些部分,但需要从客户端获得很高的重量。

在第二种方法中,您在客户端(浏览器)上依赖大量处理,这可能会产生与带宽和客户端处理相关的瓶颈。

答案 1 :(得分:0)

我同意Alexandre的观点,我更倾向于采用第一种方法。

通过针对应用程序的不同部分使用按需加载方法,您可以将应用程序划分为逻辑部分,并仅在必要时加载它们。此外,使用这种方法,您可能会将更少的数据传输到服务器或从服务器传输,并将一些处理转移到客户端。

使用第二种方法,听起来你最终会得到一个关于点击了什么按钮或链接的代码嵌套,然后将调用路由到各种事件处理程序或其他方法。您将集中大部分逻辑(因为一切都在客户端完成),但我认为它将比第一种方法更快地复杂化。

如果你采用第一种方法,如果最终得到大量的JavaScript,我会推荐以下内容:

  1. 确保您在逻辑上整理JavaScript并且不会污染 全局命名空间为每个块创建对象/函数 您正在加载并尝试包含该JavaScript功能 在该特定块的JavaScript函数/对象中。
  2. 经常在JavaScript上运行JSLint。 VS2010有一个很好的JSLint加载项,每次你保存或构建或按需运行时都会运行JSLint。
  3. 祝你好运!我希望这会有所帮助。