Câu trả lời:
Nhập "about: config" vào thanh địa chỉ Firefox và đặt:
browser.cache.disk.enable = false
browser.cache.memory.enable = false
Nếu phát triển cục bộ hoặc sử dụng thuộc tính tệp kê khai mới của HTML5, bạn cũng có thể phải đặt các mục sau trong about: config -
browser.cache.offline.enable = false
Các nhà phát triển Web Toolbar có một tùy chọn để vô hiệu hóa bộ nhớ đệm mà làm cho nó rất dễ dàng để chuyển nó vào và tắt khi bạn cần nó.
Bạn đã thử sử dụng CTRL- F5để cập nhật trang chưa?
Trên cùng một trang bạn muốn tắt bộ nhớ đệm hãy làm điều này: FYI: phiên bản đang hoạt động là 30.0
Bạn có thể :
Sau đó, nó sẽ tải lại trang của chính nó (bạn đang bật) và mọi thứ đều được thu thập và mọi yêu cầu xa hơn cũng được nhận lại mỗi lần và bạn có thể giữ cho nhà phát triển web luôn mở để theo dõi và đảm bảo luôn luôn bật (kiểm tra) .
Công cụ dành cho nhà phát triển Firefox 48
Cho phép bạn tắt bộ đệm chỉ khi hộp công cụ mở, điều này hoàn hảo cho phát triển web:
https://stackoverflow.com/a/27397425/895245 có nội dung tương tự, nhưng định vị đã thay đổi một chút kể từ đó.
Nếu bạn đang làm việc với mã phía máy chủ, bạn có thể tạo một số ngẫu nhiên và nối nó vào cuối src theo cách sau ....
src = "yourJavascriptFile.js? RandomNumber = 434534"
với số ngẫu nhiên được tạo ngẫu nhiên mỗi lần.
Tôi biết tôi đang hồi sinh một câu hỏi cổ xưa, nhưng tôi đã cố gắng giải quyết vấn đề này ngày hôm nay và có một giải pháp thay thế. Việc lưu trữ bộ nhớ cache khi tôi muốn kiểm tra không thực sự chấp nhận được đối với tôi và như những người khác đã đề cập, làm mới cứng (ctrl + shift + r) không phải lúc nào cũng hoạt động.
Thay vào đó, tôi đã chọn đặt phần sau vào tệp vhost.conf của mình (cũng có thể được thực hiện trong .htaccess) trên môi trường dev của tôi:
<FilesMatch "\.(js|css)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch>
Trên môi trường dev của tôi, điều này đảm bảo rằng js và css luôn được lấy. Ngoài ra, nó không ảnh hưởng đến phần còn lại của trình duyệt của tôi và nó cũng hoạt động cho tất cả các trình duyệt, vì vậy việc kiểm tra chrome / tức là vv cũng dễ dàng.
Tìm thấy đoạn trích ở đây, một số thủ thuật apache tiện dụng khác: http://www.askapache.com/htaccess/USE-http-headers-with-htaccess.html#prevent-caching-with-htaccess
Để đảm bảo rằng khách hàng của tôi luôn thấy phiên bản mới nhất được sản xuất, chúng tôi tăng chuỗi truy vấn trên js bao gồm trên mỗi bản cập nhật, nghĩa là
jquery.somefile.js?v=0.5
Điều này buộc các trình duyệt của khách hàng của tôi cập nhật bộ đệm cục bộ của họ khi họ thấy một chuỗi truy vấn mới, nhưng sau đó lưu lại bản sao mới cho đến khi tệp được cập nhật lại
Chiến lược tốt nhất là thiết kế trang web của bạn để xây dựng một URL duy nhất cho các tệp JS của bạn, được đặt lại mỗi khi có thay đổi. Bằng cách đó, nó lưu trữ khi không có thay đổi, nhưng tải lại ngay lập tức khi có bất kỳ thay đổi nào xảy ra.
Bạn cần điều chỉnh cho các công cụ môi trường cụ thể của mình, nhưng nếu bạn đang sử dụng PHP / Apache, đây là một giải pháp tuyệt vời cho cả bạn và người dùng cuối.
http://verens.com/archives/2008/04/09/javascript-cache-probols-solve/
Bạn có thể sử dụng CTRL- F5để tải lại bỏ qua bộ đệm.
Bạn có thể đặt tùy chọn trong firefox không sử dụng bộ đệm
network.http.use-cache = false
Bạn có thể thiết lập máy chủ web của mình để gửi tiêu đề không có bộ nhớ cache / Hết hạn / Bộ điều khiển bộ đệm cho các tệp js.
Dưới đây là một ví dụ cho máy chủ web apache.
Có những ưu và nhược điểm đối với hai giải pháp cuối cùng được đăng, nhưng cả hai đều là giải pháp tuyệt vời của IMHO.
Bạn có thể hoặc không muốn ID phiên của mình được nhúng trong url của mình như thế để bảo mật chặt chẽ hơn. Nhưng trong sự phát triển không quan trọng, nhưng nếu bạn quên loại bỏ nó thì sao? Điều đó cũng thực sự hiệu quả? Bạn sẽ không cần một cái gì đó giống như một trình tạo số tuần tự (số lần truy cập được lưu trữ trong phiên hoặc thậm chí có thể chỉ khi 1 thì 0, nếu 0 thì 1)?
Thêm id phiên (hoặc bất kỳ trình sắp xếp chuỗi nào) có nghĩa là bạn cần nhớ để thêm nó vào mọi tài nguyên bạn không muốn lưu trữ. Một mặt điều đó tốt hơn bởi vì bạn chỉ có thể bao gồm id phiên của mình với tài nguyên mà bạn đang tích cực phát triển và thử nghiệm. Mặt khác, nó có nghĩa là bạn phải làm điều đó và bạn phải nhớ loại bỏ nó để sản xuất.
Sửa đổi tệp vhost.conf hoặc tệp .htaccess thực hiện thủ thuật độc đáo mà không cần phải nhớ thêm và xóa id phiên. Nhưng nhược điểm là hiệu suất của tất cả các tài nguyên js và css sẽ bị ảnh hưởng và nếu bạn có các tệp lớn, điều đó sẽ làm bạn chậm lại.
Cả hai dường như là giải pháp tuyệt vời, thanh lịch - phụ thuộc vào nhu cầu của bạn.
Tôi sử dụng CTRL- SHIFT- DELETEkích hoạt tính năng bảo mật, cho phép bạn xóa bộ nhớ cache, đặt lại cookie, v.v., cùng một lúc. Bạn thậm chí có thể cấu hình nó để nó chỉ LÀM, thay vì bật lên một hộp thoại yêu cầu bạn xác nhận.
Trong các phiên bản cao hơn của Firefox, như Nightly, có một tùy chọn có tên là "vô hiệu hóa bộ đệm", bạn có thể tìm thấy nó bằng cách nhấp vào thiết bị. Và các tùy chọn đó chỉ hoạt động trong phiên hiện tại, có nghĩa là khi bạn đóng thanh tra và khởi động lại nó, bạn phải kiểm tra lại nếu bạn muốn bắt bị vô hiệu hóa.
Sau 2 giờ duyệt tìm các lựa chọn thay thế khác nhau, đây là thứ phù hợp với tôi.
Yêu cầu của tôi là vô hiệu hóa bộ nhớ đệm của các tệp js và css trong ứng dụng web được bảo mật mùa xuân của tôi. Nhưng đồng thời lưu trữ các tệp này "trong" một phiên cụ thể.
Vượt qua một id duy nhất với mỗi yêu cầu là một trong những cách tiếp cận được khuyên dùng.
Và đây là những gì tôi đã làm: - Thay vì
<script language="javascript" src="js/home.js"></script>
Tôi đã sử dụng
<script language="javascript" src="js/home.js?id=${pageContext.session.id}"></script>
Bất kỳ khuyết điểm cho phương pháp trên đều được chào đón. Vấn đề an ninh ?
Trong firefox 45, các tùy chọn bộ đệm đĩa có thể được đặt bằng cách thay đổi giá trị của: browser.cache.disk.enable
Giá trị có thể được đặt trên trang "about: config".
Trên http://kb.mozillazine.org/ về: config_entries#Browser Tôi đã tìm thấy mô tả sau cho "browser.cache.disk.enable":
Đúng (mặc định): Sử dụng bộ đệm đĩa, tối đa dung lượng được chỉ định trong browser.cache.disk.capacity Sai: Tắt bộ đệm đĩa (có tác dụng tương tự như cài đặt browser.cache.disk.capacity thành 0)
Trước hết, điều này có thể được thực hiện dễ dàng, ví dụ như bởi PHP để buộc trình duyệt gia hạn các tệp dựa trên ngày bộ đệm (thời gian hết hạn). Nếu bạn chỉ cần nó cho nhu cầu thử nghiệm, thì hãy thử sử dụng ctrl + shift + del để xóa tất cả bộ đệm cùng một lúc trong trình duyệt Firefox. Giải pháp thứ ba là sử dụng nhiều tiện ích bổ sung thoát cho Firefox để xóa bộ nhớ cache dựa trên các dòng thời gian.