通过在外部js文件中存储javascript变量来缓存HTML内容?

时间:2010-03-03 00:42:30

标签: javascript html web-applications caching

我有一个Web应用程序,其中masterPage / template包含一些永远不会更改但随每个请求一起发送的静态HTML。 (很多HTML都是在用户执行操作后显示的隐藏元素)

我想知道是否有某种缓存方式?

我正在考虑将HTML放在javascript变量中并执行document.write或jquery $(tag).html(cachedHTML);获得那些内容。这样做的好处是javascript文件将被浏览器缓存,并且不会传递HTML(加快页面加载和减少带宽)。

有更优雅的解决方案吗?如果我这样做,是否有一种简单的方法可以将所有HTML转换为javascript字符串,而无需通过HTML并格式化它? (删除空格,转义双引号等...)思考?

谢谢!

更新:这是YSlow信息......这个页面看起来太大了吗? (有3597个DOM元素)

一些注意事项:就JS文件而言,有三个主要的jquery,jquery-ui和我的全局缩小js,其余的是由asp.net或者像getsatisfaction生成的

1 个答案:

答案 0 :(得分:3)

我可能错了,但对我来说,这听起来是善意但不必要的。如果您的服务器配置正确,HTML输出将被gzip压缩。如果我们不是在讨论HTML的兆字节,那么页面上的每个图像都会占用比文档标记更多的带宽。

根据我的经验,对于真正庞大的HTML数据块的更大担心是浏览器如何处理它。最终呈现时,2-3 MB的HTML文档将占用百倍的内存。如果您的方案中出现这种情况,您可能会遇到设计问题,即使缓存也无法解决。