0

我正在尝试创建一个 ajax 网站。直观的方法似乎是使用jquery .html() 方法将容器的内容替换为新内容。

但是考虑到用户可能访问 A 然后 B 再访问 A,重新加载 A 的第二次操作似乎是不必要的。

我想到的另一种方法是将ajax内容加载到新的div中并以某种方式隐藏原始内容。然而,这对我来说似乎很手动,我想知道是否有一个好的框架或插件可以更好地处理这个问题。由于 dom 元素不断增长,在这种情况下会出现性能问题吗?

4

2 回答 2

1

您可以缓存 Ajax 请求,因此客户端 javascript 不会在您每次需要内容时都请求服务器。例如。在 jQuery 中:

$.ajaxSetup({ cache: true });

缓存请求实际上是 jQuery 中的默认设置,因此它一直缓存响应。

于 2013-10-06T16:31:43.060 回答
0

在我们使用 jQuery 时,Google Chrome 似乎不缓存 ajax 内容,但 IE10 确实默认了。

为了避免动态内容的双重加载,我们对 div id="mydiv" 使用这样的原始方法:

if($("#mydiv").get(0).loaded)
{
}
else
{
  $("#mydiv").get(0).loaded = true;
  //
  // here we load ajax content for mydiv:
  //
  ...
}

load是用户添加的 mydiv 持久性 DOM 元素对象的 JavaScript 属性,而不是临时 jQuery 对象。

于 2013-10-06T16:51:02.363 回答