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

标签 javascript html web-applications caching

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

我想知道是否有某种方法可以缓存它?

我正在考虑将 HTML 放入 javascript 变量中并执行 document.write 或 jquery $(tag).html(cachedHTML);获取该内容。这样做的好处是 javascript 文件将由浏览器缓存并且不会传递 HTML(加快页面加载速度并降低带宽)。

有没有更优雅的解决方案?如果我真的走这条路,有没有一种简单的方法可以将所有 HTML 转换为 javascript 字符串,而无需通过 HTML 并对其进行格式化? (删除空格、转义双引号等...)想法?

谢谢!

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

一些注意事项:JS文件方面,主要有jquery、jquery-ui和我的global minified js三个,其余的都是asp.net或者getsatisfaction之类的生成

最佳答案

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

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

关于javascript - 通过在外部 js 文件中存储 javascript 变量来缓存 HTML 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2368041/

相关文章:

java - UrlRewriteFilter 使用 FORM 身份验证重定向到错误的 login.html 页面

java - Java 中的异常

c++ - 打包 HTML5 应用程序并将其部署到桌面上

html - 无法识别 ID 选择器

jquery - Bootstrap(2.3.2) 模态弹出可见性检查

javascript - 如何根据用户不同时区和营业时间检查商店是否营业

javascript - 如何强制下载而不是使用 Javascript/jQuery 从 FTP 服务器在 Chrome 中打开 srt 文件?

jquery - 如何在关注 Stackoverflow.com 搜索栏等其他元素时隐藏和显示其他元素?

javascript - 检查 Angular 响应式(Reactive)表单中的 FormGroups 字段中是否存在重复项

javascript - 清除 html 输入保留(ctrl+z)