怎么让客户端浏览网页时,只从服务器端下载一次jQuery.EasyUI.min.js?

发布于 2021-11-28 11:19:51 字数 3466 浏览 730 评论 14

我不懂前端的开发。目前遇到了一个问题:

我发现我们企业使用的一个系统中,客户端每浏览一个页面时,客户端都要从服务器端下载一次jQuery.EasyUI.min.js和另一个js文件(2个文件大概450KB)。但这样让服务器的网络带宽压力增加了很多。

怎么能让客户端下载一次这两个js文件,以后直接在客户端缓存中调用就行了?

下面是系统中的代码:

1、系统中每个jsp文件最上面的代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<% String basePath = request.getContextPath(); %>

<jsp:include page="${basePath}/common/include.jsp"></jsp:include>

---------------------------------------------------------------------------------

2、而include.jsp文件的最上面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"

   pageEncoding="UTF-8"%>

   <%     String path = request.getContextPath();

       String basePath = path + "/";     %>

 

<script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui/jquery-1.8.0.min.js"></script>

<script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui/jquery.easyui.min.js"></script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(14

流心雨 2021-12-03 05:05:45

谢谢大家的解答。我都试试去

高跟鞋的旋律 2021-12-03 05:05:41

第一种方案:如果你这些js文件都没有自己修改过(即:官方原版),那可以使用公共的CDN里面的js;

第二种方案:js文件之类的加上expires头,让浏览器缓存。如果你从浏览器调试工具查看,请注意查看是否勾选了禁用缓存。另外看返回头是304还是200,如果是304表明缓存生效。

ps:tomcat也可以设置文件的缓存头的!加一个org.apache.catalina.filters.ExpiresFilter就行了,具体见官方文档

清晨说ぺ晚安 2021-12-03 05:05:35

可以用ng的缓存策略,也可以自己在服务器设置缓存

倚栏听风 2021-12-03 05:05:09

其实Tomcat也可以设置文件的缓存头的!加一个org.apache.catalina.filters.ExpiresFilter就行了

无人问我粥可暖 2021-12-03 05:04:22

回复
@liuleidefeng : 哦哦,Tomcat不熟

2021-12-03 05:03:24

不知道你的静态资源是不是通过nginx部署,如果是,只需要加上expires项设置就行了,配置大概这样:

server {
    listen 80;
    server_name xxx.com;

    location ^~ /static  {
        autoindex on;
        alias   /var/www/xxx/static;
       #下面就是浏览器缓存设置(30天),没有这个浏览器每次重新刷新都会重新下载静态文件
        expires 30d;
        add_header Pragma public;
        add_header Cache-Control "public";
    }

    location / {
        proxy_pass http://192.168.253.199:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

}

裸钻 2021-12-03 05:02:06

三楼的想法就很好,用别人网站上的,

多彩岁月 2021-12-03 04:57:48

这是浏览器做的事,你看到状态是304表明使用现有的缓存文件,并没有重新下载。

兮颜 2021-12-03 04:49:28

哭死,我用的是360安全浏览器啊

爱你是孤单的心事 2021-12-03 04:49:20

估计他浏览器用的什么隐身模式,不写临时文件的,都入内存。或很小的浏览器cache

梦中楼上月下 2021-12-03 04:33:19

可我通过后台查看流量,每点一个页面,都要重新下载一回的,根本没用缓存中的数据。不知道为什么

看透却不说透 2021-12-02 15:48:06

回复
的确是每次都会产生请求,但是请看http状态,如果是304状态,就是使用缓存,并没有实际发生下载。 如果每次都是200状态,那么你的http服务器配置有问题。

终遇你 2021-11-30 07:53:47

浏览器自己会缓存的,不用你关心。

如此安好 2021-11-30 00:02:34

用别人网站上的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文