Làm cách nào để buộc làm mới mà không có bộ nhớ cache trong Google Chrome? [bản sao]


307

Câu hỏi này đã có câu trả lời ở đây:

Chrome có tương đương với làm mới Ctrl + F5 của Firefox không? Tôi dường như không thể tìm thấy một.

Tôi đã thay đổi gravatar của mình đêm qua và tôi có thể thấy cái mới trong Firefox sau khi làm mới Ctrl + F5, nhưng Chrome dường như vẫn ngoan cố bám vào Gravatar cũ. Tôi đoán rằng tôi có thể tự xóa bộ nhớ cache, nhưng nếu có lệnh bàn phím để thực hiện thì tôi muốn biết nó là gì (vì nó cũng hữu ích cho việc phát triển web).


18
CTR + R rồi CTRL + F5, một hoặc hai lần - thường sắp xếp vấn đề. Hoặc tắt bộ đệm trong Công cụ dành cho nhà phát triển -> Sprog (botom phải) -> Mạng - Vô hiệu hóa bộ đệm .. tải lại trang và thử tắt nó.
Piotr Kula

1
Tính năng mới tuyệt vời được thêm vào Chrome để buộc làm mới cứng - superuser.com/a/512833/92862
Coops

Câu trả lời:


197

Tài liệu Chrome nói rằng Ctrl+ F5hoặc Shift+ F5nên thực hiện "Tải lại trang hiện tại của bạn, bỏ qua nội dung được lưu trong bộ nhớ cache".

Nếu nó không hoạt động, bạn có thể gửi báo cáo lỗi , nhưng có vẻ như khá nhiều người khác đang gặp vấn đề tương tự.

[Nhật ký lỗi hiện tại về vấn đề này] Đã đóng dưới dạng trùng lặp, sự cố vẫn còn:

[ Vấn đề: 94090 ]


1
Có vẻ như đó có thể là một phần lỗi của Gravatar. Trong tiêu đề cho hình ảnh của tôi, họ đang gửi Last-Modified: Fri, 20 Jun 2008 12:25:23 GMT. Tôi nghĩ rằng đây là ngày tôi đã tải lên Gravatar cũ của mình hoặc là ngày tôi đăng ký Gravatar. Trình duyệt phải thấy điều đó và nghĩ rằng "ồ, tập tin mới này có cùng ngày sửa đổi lần cuối, vì vậy tôi sẽ chỉ sử dụng bộ nhớ cache." Đó là một lỗi nếu Chrome đang làm điều đó trên một bản làm mới bỏ qua bộ nhớ cache, nhưng đó cũng là một lỗi để Gravatar gửi sai bản sửa đổi cuối cùng. Tôi đã liên lạc với cả hai bên. :)
Kip

4
Tôi tải các tập lệnh không đồng bộ từ javascript và Chrome dường như tiếp tục sử dụng các phiên bản được lưu trong bộ nhớ cache ngay cả sau khi ctrl-f5, v.v. Xóa bộ nhớ cache hoạt động. Nhưng một giải pháp khác là mở cửa sổ Ẩn danh (ctrl-shift-n), vì chế độ Ẩn danh sẽ không sử dụng bộ đệm.
Tauren

3
Haha Chrome là siêu bộ nhớ cache, cách duy nhất tôi có thể vượt qua là nhấn Shift + F5 ít nhất hai lần (thực sự).
Halil Özgür

1
Nhóm Chrome nên lúng túng trước một lỗi như vậy trong hàng đợi lỗi trong hơn 2 năm. Tôi rất thất vọng.
Brian Webster

2
Chắc chắn không hoạt động. Chrome chỉ có thể hút rất nhiều lần.
iconoclast

200

Trong các công cụ dành cho nhà phát triển đã mở ( Ctrl+ Shft+ Ihoặc + + I):

  1. Chọn tab Mạng
  2. Kích hoạt hộp kiểm Vô hiệu hóa bộ đệm .
  3. KHÔNG ĐÓNG công cụ dành cho nhà phát triển - nếu không bộ đệm được bật lại.

nhập mô tả hình ảnh ở đây


Không làm việc cho tôi, đã phải sử dụng ẩn danh.
Stony Stubbs

4
Nhưng tại sao không có phím tắt để kích hoạt điều này!
Coops

7
Lưu ý bộ đệm chỉ bị vô hiệu hóa trong khi Công cụ dành cho nhà phát triển đang mở. Nếu bạn đóng nó, bộ nhớ cache của bạn sẽ hoạt động trở lại.
Icode4food 6/12/12

Ngay cả khi đã kích hoạt hộp kiểm Tắt bộ đệm và các công cụ dành cho nhà phát triển mở, dường như vẫn có sự khác biệt giữa F5 và Shift + F5. Một cuộc gọi ajax trên trang web của tôi hoạt động khác nhau, tùy thuộc vào loại làm mới và tôi chưa hiểu tại sao.
Stefan

3
Trong các công cụ dành cho nhà phát triển mới hơn (cũng có thể được kích hoạt bởi F12), cài đặt "Tắt bộ nhớ cache" có thể được tìm thấy trong tab Mạng.
anre

98

Trên máy Mac, đó là Shift + Command + R hoặc giữ phím Shift trong khi nhấp vào nút tải lại (trái ngược với Command + R hoặc nhấp chuột bình thường để làm mới thông thường).

Một số chi tiết:

Đối với Shift + Command + R, bộ đệm chỉ đơn giản là bị bỏ qua và tài nguyên được yêu cầu như không tồn tại bộ đệm.

Đối với Command + R, Chrome sẽ phát hành If-Modified-Sincehoặc Etagyêu cầu đến máy chủ web, ngay cả đối với những thứ thực sự được lưu trong bộ nhớ cache . Đối với hầu hết, nếu không phải tất cả, nội dung máy chủ sẽ phản hồi 304 Not Modified. Điều này đúng với hầu hết, nếu không phải tất cả, các trình duyệt hiện đại.

Cách duy nhất để buộc dựa vào bộ đệm (không có trình duyệt thậm chí yêu cầu thay đổi có thể) dường như là nhấp vào một liên kết trên trang web hoặc bằng cách theo liên kết được đánh dấu hoặc bằng cách vào thanh vị trí URL và nhấn Return there ( Lệnh + L, Trả về).

Tuy nhiên: một sự cố đã biết từ lâu trong Chrome, Chrome Forced Refresh không bỏ qua bộ đệm (và Tải lại / Làm mới gần đây không làm mới ) hoặc có thể thực sự là một tính năng trong WebKit, các nguồn con được chèn động không được xác nhận lại ngay cả khi tài liệu có chứa tải lại , làm cho Chrome không xóa TẤT CẢ bộ nhớ cache liên quan khi sử dụng các phương pháp trên. Nhà phát triển Chromium giải thích :

Tab mạng của các công cụ dành cho nhà phát triển hiển thị một thác tất cả các tài nguyên khi chúng được tải. Có hai đường thẳng đứng ở phía bên tay phải ... một trong số chúng được gắn nhãn "Tải sự kiện đã bắn" khi di chuột. Bất cứ điều gì tải sau thời điểm đó không phải là một phần chính thức của trang (một trang có thể tiếp tục đưa ra yêu cầu trong nhiều giờ) [...] vì vậy nó sẽ KHÔNG được "làm mới" với bất kỳ kết hợp nào của f5. Đây là do thiết kế.
[...]
Bộ nhớ đệm [của bất kỳ tài nguyên nào, trước và sau dòng "Tải sự kiện đã bắn"] được xác định bởi các tiêu đề HTTP của phản hồi, chứ không phải tại thời điểm yêu cầu được đưa ra.

Đồng thời lưu ý tweet của @ ChromiumDev :

Chrome DevTools 'Disable Cache làm mất hiệu lực bộ đệm đĩa (rất tốt cho việc phát triển!), Nhưng .. chỉ trong khi devtools hiển thị.


Cảm ơn câu trả lời chi tiết tuyệt vời. Có thể quá kỹ thuật cho khán giả nhưng tôi đánh giá cao nó.
sholsinger

Command-Shift-R không hoạt động ổn định trong Chrome hiện tại.
Olivier

Nó dường như đang hoạt động tốt trên máy Mac của tôi, @olouv. Bạn đã xem qua tab Mạng của Công cụ dành cho nhà phát triển chưa? (Đúng, trên chính trang web này, có một vài tài nguyên mà Chrome vẫn đưa ra If-Modified-Sinceyêu cầu thay thế, nhưng những tài nguyên đó được JavaScript yêu cầu, chứ không phải bởi trình phân tích cú pháp HTML. có lẽ sự khác biệt nhỏ về thời gian máy chủ và giờ địa phương cũng có thể gây rối?)
Arjan

HÃY THỬ , lưu ý một lỗi hai năm tuổi nhưng vẫn còn hiện tại trong Chrome: Chrome Forced Refresh không bỏ qua bộ đệm .
Arjan


15

Câu hỏi hơi cũ, nhưng trong phiên bản Chrome gần đây

  • Mở Developer toolsbằng cách sử dụng F12hoặc Ctrl+ Shift+I
  • Nhấp chuột phải vào nút Làm mới và chọn Bộ đệm trống và Tải lại cứng

Điều này sẽ bỏ qua bộ đệm và tải lại trang đầy đủ.

Tài liệu nói Ctrl+ F5hoặc Shift+ F5nhưng thật không may cho đến ngày hôm nay lỗi vẫn chưa được giải quyết :-(


1
Như một bên: đây chỉ là Windows. (Và tôi đã đọc nó chỉ khả dụng khi các công cụ dành cho nhà phát triển mở?)
Arjan

2
Chỉ hoạt động khi Công cụ dành cho nhà phát triển được mở, như bạn nói Arjan.
mgkrebbs

Bạn cũng có thể giữ SHIFT trong khi nhấp vào nút làm mới
Bolli

9

Tôi có các tệp (hình ảnh và trang html đầy đủ) trên máy chủ được cập nhật và không có tổ hợp phím nào trong chrome dường như buộc phải tìm nạp chúng.

Tôi dựa vào chế độ ẩn danh chrome chrome - CTRL-SHIFT-N - khi tôi cần buộc làm mới.

Lưu ý rằng CTRL-R hoặc CTRL-F5 trong khi bên trong cửa sổ ẩn danh dường như cũng không hoạt động. Bạn phải đóng và mở lại cửa sổ ẩn danh - do đó tôi phụ thuộc vào các phím tắt - CTRL-W để đóng, CTRL-SHIFT-N để mở lại.


Bạn có nghĩa là "mở lại một tab ẩn danh", không phải cửa sổ, tôi cho rằng?
mgol

1
Thật thú vị, đối với tôi CTRL-SHIFT-N mở một cửa sổ mới, không chỉ là một tab - điều đó không phải lúc nào cũng đúng?
Daniel Gill

6

Chắc chắn không có cách đơn giản nào để làm điều này trong Chrome như các trình duyệt khác. Tài liệu có thể nói rằng CTRL + F5 hoặc SHIFT + F5 nên tải lại và bỏ qua bộ đệm, nhưng đơn giản là không. Tôi có một trình chiếu flash lưu trữ các cài đặt / cấu hình trong tệp .xml và sau khi cập nhật tệp XML, Chrome vẫn sẽ tải phiên bản được lưu trong bộ nhớ cache trừ khi tôi xóa bộ đệm. Tôi luôn phải chạy một trình duyệt khác khi cập nhật trình chiếu vì vậy tôi không phải xóa bộ nhớ cache Chrome của mình mọi lúc.


5
Flash cache là một cái gì đó hoàn toàn khác với Chrome.
Joshua

@Joshua Trừ khi anh chàng này tuyên bố, nó hoạt động trong các trình duyệt khác chứ không phải Chrome. Đừng quên Chrome đi kèm với nó riêng build của Flash player.
Camilo Martin

@CamiloMartin ... cũng có bộ đệm riêng. Đợi đã ... bạn có nghiêm túc trả lời một bài đăng hơn 2 năm không? Ừ Tôi lấy mồi.
Joshua

@Joshua Oh, bạn nói đúng, tôi đã không nhận ra :)
Camilo Martin

4

Ctrl - Shift - Delete sẽ cho phép bạn xóa bộ nhớ cache cho giờ trước. Điều đó sẽ đảm bảo rằng lần sau khi bạn tải lại một trang web thì nó mới.


4

Chắc chắn là một lỗi trong Chrome - đó cũng là hình ảnh nên được thay đổi, nhưng nó sử dụng hình ảnh cũ thay thế, ngay cả sau khi nhấn liên tục Ctrl+ F5.

Tôi đã cố gắng thay đổi logo Google Apps của mình, nhưng cách duy nhất nó sẽ thay đổi trên Gmail là nếu tôi sử dụng chế độ ẩn danh hoặc xóa toàn bộ bộ đệm. Ctrl+ F5giữ logo cũ.


3

Tôi đã làm điều này: Nhấp chuột phải vào FRAME (không đồng bộ hóa) và Shift đã nhấp vào tùy chọn "Tải lại khung". Khung sau đó được làm mới đúng cách.


Không làm việc cho tôi
Coops

3

Để xóa bộ đệm ứng dụng được chỉ định rõ ràng điều hướng đến chrome://appcache-internals/trên chrome và xóa bộ đệm cho các trang web cụ thể.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.