Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过在外部js文件中存储内部javascript变量来缓存HTML内容?_Javascript_Html_Web Applications_Caching - Fatal编程技术网

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

通过在外部js文件中存储内部javascript变量来缓存HTML内容?,javascript,html,web-applications,caching,Javascript,Html,Web Applications,Caching,我有一个web应用程序,其中母版页/模板包含一些静态HTML,它们从不更改,而是随每个请求一起发送。(很多HTML都是隐藏的元素,在用户完成某项操作后显示) 我想知道是否有办法缓存它 我正在考虑将HTML放入javascript变量中,并执行document.write或jquery$(tag.HTML(cachedHTML);为了得到那个内容。这里的好处是javascript文件将被浏览器缓存,HTML不会被传递(加快页面加载并减少带宽) 有更优雅的解决方案吗?如果我真的这样做了,有没有一种简

我有一个web应用程序,其中母版页/模板包含一些静态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或GetSuccessment之类的东西生成的,我可能错了,但对我来说,这听起来是出于好意,但没有必要。如果服务器配置正确,HTML输出将被压缩。如果我们不是在讨论兆字节的HTML,那么页面上的每个图像将占用比文档标记更多的带宽


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

谢谢您的评论。。。我在上面的图片中发布了页面分类。这个页面没有那么大,所以你可能是对的,它不会有太大的区别。我担心存在的DOM元素的数量。。。你对优化有什么建议吗?(无论是否面向设计)@rksprst缓存不会帮助您处理DOM元素,无论它们来自何处,都需要呈现它们。至于DOM元素的数量,如果没有任何速度问题,我也不会担心。使用基于AJAX的方法可以根据需要加载/保存这些字段,但如果没有关于页面的更多信息,就无法判断结果。看看YSlow,您的HTML几乎可以忽略不计,只有10Kb。您的预处理缓存很差,请配置您的服务器以确保CSS样式表和图像以及JS被缓存。@宴会感谢您的建议。。。我正在使用etags为css/images/js设置服务器缓存,但我会看看是否还有更多可以优化的地方。我可能会用css精灵来制作图片。听起来是个好主意,你做对了吗?值得注意的是,google chrome支持一种编码类型,允许在浏览器端缓存html块。它叫。据我所知,只有google.com用这个编码他们的页面。