我目前正在为一位建筑师构建一个作品集网站,该网站的页面上有大量图片。 导航是使用 history.js (=AJAX) 完成的。为了节省加载时间并使整个过程更加“快速”,我编写了一个脚本,用于抓取页面主体以获取指向其他页面的链接,并在后台自动获取这些链接。到目前为止,它就像一个魅力。
它基本上保留了一个包含所有链接的队列数组。一个 setTimeout() 函数通过它们工作并使用 jQuery $.ajax() 获取每个页面。生成的 HTML 存储在 Javascript 对象中。
现在,这是我的问题: 在不同的机器/浏览器/操作系统上使用它可能会出现什么问题?
我在想:
- 最大。 javascript 对象/可变大小(获取的 HTML 存储在 javascript 对象中)
- 可能的性能问题
- 最大。异步请求的数量?
- ……你能想到什么?
提前致谢
业余程序员
最佳答案
虽然在客户端缓存整个网站可能是个好主意,但有很多事情可能会导致问题:
- 内存
- 网络服务器上不必要的负载
- 将不需要的页面加载到内存中
- 一些用户的互联网受到限制,因此在这些情况下加载整个网站并不明智
- 一旦用户离开或刷新整个“缓存”就消失了
我会做的是首先尝试优化服务器端。 添加一堆从数据库到用户的缓存机制,“Expires”头可以真正帮助你。
如果这没有帮助,我会考虑在离线缓存中缓存一些页面(哪些页面由您决定),请参阅 ( HTML 5 Offline Features )
这样即使在页面重新加载时您也是安全的,将内存保持在最低限度并且只加载您需要的内容。
PS:不要尝试重新发明浏览器已有的东西 :P
关于javascript - 使用 Ajax 预加载(=缓存)一个完整的网站——可能出现的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12519716/