Không thể cập nhật ảnh khi đổi ảnh đại diện do cache

Em đang làm 1 cái web đăng ký serviceWorker để có thể cài đặt dưói dạng PWA, nhưng giờ em lại vướng phần cache khi người dùng đổi ảnh đại diện. Phần cache cũ nó sống dai quá, dù reload bao nhiêu lần thì nó vẫn cứ giữ nguyên ảnh cũ.

Em đã thử xóa cache bằng cách chạy

caches.keys().then(function(names) {
    for (let name of names)
        caches.delete(name);
    });

Thế nhưng hình như nó không có chút tác dụng nào.
Ở trên chrome mobile nếu em vào cài đặt và chỉ xóa cache mà không xóa phần “Cookie và dữ liệu trang web” thì cache của web em nó vẫn sống luôn, sống dai quá :cry:

Có cách nào để xóa 1 phần hoặc xóa toàn bộ cache khi cần cập nhật gì đó không ạ

gọi api kiểm tra phiên bản, nếu không phải lastest thì force update

3 Likes

Thật khá khen cho kiểu xoá cache của bạn. Không biết đoạn code trên được copy ở đâu vậy. Vấn đề là trình duyệt nó cache ảnh của user rồi. Nếu vẫn dùng url cũ thì trừ khi server báo cho trình duyệt biết còn không thì sẽ bị cache hơi lâu đấy. Có 1 cách khác là nếu đổi avatar thì gen 1 url mới, auto xoá cache

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