Giải pháp Clear browsing data cho người dùng mỗi khi upload file css, js lên server

Chuyện là mình gặp phải vấn đề sau, mỗi khi code dưới local sau đó upload lên server thì các file css, js không upload file mới mà vẫn ăn các file cũ.

P/s: Chỉ đối với những người hay truy cập website, thì trình duyệt mới tự lưu. Đã test thử là dùng máy đó nếu truy cập ẩn danh thì lại ăn file mới như bình thường.

Mong các bạn chỉ các giải quyết để mỗi khi upload thì các truy cập của người dùng cũng sẽ cập nhập được file mới. Tks

Do trình duyệt thôi.
Nhấn Ctrl + F5 để tải lại cứng.
Hoặc nhờ javascript phụ giúp:

5 Likes

Link dẫn đến file css, js thêm query string khác nhau mỗi lần up file mới là đc, trình duyệt nó sẽ tự hiểu đó là file mới.
vd:
https://yourdomain.com/ajax/libs/fallback/1.1.9/fallback.js?hash=d41d8cd98f00b204e9800998ecf8427e
Hash ở đây có thể là time unix hay md5, sha1 của file. Miễn nó khác cái cũ là đc, nếu bạn sử dụng frontend framwork là nó tự gen luôn rồi.

6 Likes

Thêm param vs=DateTime.Now.tosecond() cũng đc

4 Likes

giải pháp khá hay, nhưng mình muốn hỏi lại là chỉ cần đặt
location.reload(true) là giải quyết được nhỉ ?

Nhưng có điều kiện, chứ cứ chạy lệnh đó hoài thì trang không bao giời ngừng tải lại.
:smiling_imp:

3 Likes

Nghĩa là trong header

<link rel=“stylesheet” type=“text/css” href="lib/css/style.css?date=<?php echo time();?>

Mình chỉ cần truyền tham số vào thế này thôi, thì browser sẽ luôn cập nhập ? Có cần xử lý gì thêm ở phía file css không

Ko cần

Nên lấy biến cố định nào đấy như ENV nha bạn, sau đó lúc nào bạn sửa upload lên thì set lại ENV mới chứ lấy time lúc request thì browser ko bao giờ cache dẫn đến server nặng tải

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?