Làm cách nào để tôi thực sự xóa bộ nhớ cache của Safari?


16

Đã có vô số lần tôi gặp phải sự cố sau khi chỉnh sửa HTML trên máy Mac. Vấn đề bắt nguồn từ việc tôi tải tệp cập nhật lên máy chủ của mình thông qua FTP và tôi sẽ điều hướng đến trang web trong Safari. Một điều không hoạt động đúng là Safari đã lưu trữ trang web (phiên bản cũ), vì vậy nó sẽ hiển thị phiên bản cũ. Tôi tự nghĩ và quyết định xóa bộ nhớ cache trong Safari với hy vọng nó sẽ giải quyết được vấn đề của tôi. Xóa bộ nhớ cache chỉ để cho trang web xuất hiện để tải lại. Nó vẫn đến với phiên bản cũ của tập tin. Để chứng minh rằng tệp trên máy chủ đã thực sự được cập nhật, tôi đã tải lên một máy Mac khác trên cùng mạng và nó đã hiển thị phiên bản mới của tệp. Cho dù tôi đã làm mới hoặc xóa bộ nhớ cache hoặc mở lại Safari bao nhiêu lần, nó vẫn luôn cung cấp tệp cũ. Giải pháp khác duy nhất tôi có thể đưa ra là khởi động lại. Sau khi khởi động lại, Safari đã tải lại toàn bộ trang web và hiển thị phiên bản mới của tệp.

Tôi thực sự chỉ đang tự hỏi làm thế nào để xóa bộ nhớ cache của Safari và để nó hoạt động đúng. Đây có phải là thứ mà hệ điều hành không (tôi cũng gặp vấn đề tương tự với các tệp trên ổ cứng của mình)? Tôi không muốn phải khởi động lại mọi lúc chỉ để xem phiên bản mới của tệp, vậy có cách nào tôi có thể đảm bảo tôi đang xem phiên bản mới nhất không? Có một thư mục lưu trữ tạm thời mà tôi có thể tự xóa? Điều này xảy ra với tôi khá thường xuyên (không quá thường xuyên, nhưng đủ để tôi chú ý), và giải pháp hiện tại duy nhất của tôi là khởi động lại.

Tôi có một cảm giác kỳ lạ (nó không thực sự là một ý nghĩ, nhưng một sự chiếm hữu nhẹ đến mức không có ý nghĩa nhiều) rằng nó bắt nguồn từ cấp độ thấp hơn.


Sử dụng chrome (hoặc opera)?
Tên giả

Tôi muốn sử dụng Firefox, nhưng tôi đang phát triển, vì vậy tôi cần kiểm tra trang web của mình trên tất cả các trình duyệt bao gồm Safari.
Andrew Larsson

Có thể hữu ích khi sử dụng curllệnh dòng lệnh để yêu cầu URL, để xem những gì xuất hiện. Trang cũ hay mới? Vì hoàn toàn curlkhông có khái niệm "lưu vào bộ nhớ cache", điều này sẽ cho bạn biết nếu ai đó ở phía xa (hoặc đường dẫn giữa) đang thực hiện bộ nhớ đệm mà bạn không muốn. Máy chủ của bạn chỉ có thể là thủ phạm thực sự ở đây! Có phải nó lưu các tập tin mà nó phục vụ? Betcha nó là. . .
Mike Robinson

Câu trả lời:


13

Trong Safari, nhấn và giữ phím ( Shift) trong khi nhấp vào nút refresh. Điều này sẽ thực hiện việc làm mới cứng Hard cứng, bỏ qua bộ đệm cục bộ.

(Để nhanh chóng xóa bộ nhớ cache trong Safari, nhấn + + E, truy cập Quyền riêng tư và nhấp vào Xóa Xóa tất cả dữ liệu trang web .)


Tôi chắc chắn sẽ thử rằng lần tới khi tôi gặp phải vấn đề này. Đó là một điều mà tôi chưa làm được. Tôi đã thử thiết lập lại Safari, xóa bộ nhớ cache và thậm chí đăng xuất và đăng nhập lại. Cảm ơn câu trả lời tuyệt vời!
Andrew Larsson

2
Safari hơi khó hiểu ở khía cạnh này, vì hầu hết các trình duyệt khác sử dụng + + Rđể thực hiện làm mới cứng. Trong Safari, điều đó không làm gì cả, trừ khi bạn tập trung Công cụ dành cho nhà phát triển web trong khi thực hiện kết hợp bàn phím.
Mathias Bynens

Tôi sẽ chấp nhận câu trả lời của bạn cho đến bây giờ cho đến khi ai đó đi kèm với một lời giải thích tốt hơn với một giải pháp đã được chứng minh cho bộ nhớ đệm không biết tôi đang gặp phải. Cảm ơn!
Andrew Larsson

1
@AndrewLarsson Dù sao đi nữa, sau khi làm mới chăm chỉ, bạn sẽ luôn có phiên bản mới nhất, giả sử không có bộ nhớ đệm phía máy chủ kỳ lạ đang diễn ra. Điều này nhắc nhở tôi, máy chủ gửi bộ nhớ đệm nào cùng với tệp? Nó có thể là một vấn đề cấu hình máy chủ.
Mathias Bynens

Đó là một điều khác tôi đã suy nghĩ. Nếu máy chủ đang trả về 304 khi, trên thực tế, nó sẽ trả về nội dung mới, đó là điều tôi cần thay đổi trong cấu hình của mình. Tôi sẽ điều tra điều này vào lần tới khi tôi gặp vấn đề này.
Andrew Larsson

2

Khi Safari không xóa bộ nhớ cache:

  1. Đảm bảo rằng bạn đã đăng xuất khỏi tất cả các trang web và đã đóng tất cả các tab Safari.

  2. Mở Finder và chọn Đi → Chuyển đến Thư mục ... trong thanh Menu. (Ngoài ra, bạn có thể sử dụng phím tắt, Command+ Shift+ g.)

  3. Sao chép và dán các mục sau vào danh sách thả xuống:

    ~/Library/Safari/Databases

  4. Xóa tất cả nội dung xuất hiện trong thư mục đó bằng cách tô sáng tất cả các thư mục và nhấp chuột phải và chọn Di chuyển vào Thùng rác.

  5. Mở Safari một lần nữa và kiểm tra xem tất cả các mục hiện đã bị xóa.

  6. Nếu không có gì xuất hiện khi bạn tìm kiếm các tiêu chí trên, vui lòng tìm kiếm

    ~/Library/Safari/Local Storage

    và làm theo các bước 4 & 5 ở trên để xóa tất cả nội dung.


Lưu ý rằng mặc dù Safari nói, ở trên, rằng nó sẽ "Xóa tất cả dữ liệu trang web", sự thật là nó thực sự không . Nhưng nếu bạn lọc nội dung của các thư mục khác nhau được đề cập ở đây, nó sẽ.
Mike Robinson

1

Tôi đã có cùng một vấn đề ngoại trừ tôi nhận thấy rằng nó cũng xảy ra với các trình duyệt khác. Hóa ra đó không phải là Safari hay OSX, nó là bộ đệm được tạo bởi nhà cung cấp dịch vụ.

Để giải quyết vấn đề, tôi đặt mã vào trang của mình để ngăn nó khỏi bị lưu.

nội dung = "không có bộ đệm"

"Một số người biết về bộ nhớ đệm của trình duyệt, nhưng vẫn bị bất ngờ bởi bộ nhớ đệm ISP. Bộ nhớ đệm ISP hoạt động theo cách tương tự như bộ đệm của trình duyệt. Một khi bạn đã truy cập một trang web, ISP của bạn có thể lưu các trang đó để chúng tải nhanh hơn Lần tới khi bạn truy cập chúng. Vấn đề chính với điều này là không giống như bộ đệm của trình duyệt, bạn không thể xóa các tệp tạm thời này, thay vào đó bạn phải đợi cho đến khi bộ đệm ISP của bạn hết hạn và nó yêu cầu các bản sao mới của tệp. Điều này có thể rất bực bội nếu bạn đang cố gắng phát triển hoặc thay đổi trang web của mình - hoặc thậm chí để xem thông tin mới. "


Bạn có thể vui lòng đặt lại mã đầy đủ (như bạn đã có trong phiên bản đầu tiên của câu trả lời) không? Nếu bạn đặt bốn khoảng trắng ở đầu dòng, sẽ không có bất kỳ vấn đề nào với định dạng.
nohillside

Đây là một điểm tốt, và tôi sẽ thử nó lần sau. Tuy nhiên, tôi không chắc nó sẽ áp dụng tốt như thế nào cho tình huống mà tôi đã mô tả trong câu hỏi, bởi vì các máy Mac tôi sử dụng đều nằm trên cùng một mạng và có cùng một IP toàn cầu (vì vậy ISP sẽ không thể xác định sự khác biệt giữa chúng).
Andrew Larsson
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.