我有一个大型应用程序,它使用javascript有很多原因。这些javascript文件包含在一些JS文件中,JS文件导入到Asp.net主页文件中。
当页面显示给用户时,这个JS文件内容(javascript函数)将添加到页面,因此一堆废弃的Javascript函数将包含在Asp.net页面中。我正在寻找这些JS文件下载到用户计算机的方式(任何地方,例如:临时互联网文件或其他地方)和Asp.net页面使用随页面下载的功能。
我还想将1次(每个用户登录或每个Open Session)下载到用户计算机。
那么如何将JS文件下载到用户PC并在Asp.net页面中使用
答案 0 :(得分:3)
评论者建议的是,所有的javascript都应放在外部文件上。根据我的理解,你在做什么:
<script language="javascript">
your code here
</script>
相反,你应该有。
<script src="myjavascript.js" type="text/javascript"></script>
然后您的javascript文件将由浏览器自动缓存。
MindFold还建议使用谷歌的CDN。这是一个很好的建议。当然,你只能将它用于像Jquery这样的流行图书馆。
答案 1 :(得分:1)
Karl Seguin查看ASP.NET Performance - Part 2 - YSlow如何编写HttpHandler以添加静态文件的缓存头。
我建议你阅读其他4个帖子以及ASP.Net的缓存策略。这将使您更好地了解从Web服务器向浏览器提供页面时发生的情况。
答案 2 :(得分:1)
客户端缓存很明显,取决于客户端的行为。看看http://code.google.com/speed/page-speed/docs/caching.html。一些建议是
Expires
而不是Cache-Control
(因为它得到了客户更广泛的支持)。Vary
标题(IE)。Cache control: public
(某些版本的FF)还有一些关于如何允许网络代理缓存的建议(并且足够有趣的建议:不要在URL中包含静态资源的查询字符串。,由他们打破拥有CDN)
答案 3 :(得分:0)
浏览器会自动为您执行此操作,无论何时浏览器下载文件(在您的情况下为js),他都会将其存储在临时目录中供以后使用,从而优化开销,同样适用于图片。
您可以使用某种CDN进一步优化它,例如Google为许多常见的JavaScript库提供了cdn。
所以,再次 - 在用户浏览器下载脚本后,他将尝试根据名称重新使用它。
因此,如果您的脚本位于同一个地方,您将免费获得此功能!