Câu hỏi Làm thế nào để lực lượng Internet Explorer (IE) để REALLY tải lại trang?


Khi sử dụng Internet Explorer 8 để kiểm tra ứng dụng web của tôi, tôi thường thấy nó không tải lại trang, vì vậy tôi không thấy các thay đổi của mình. Điều này đã dẫn đến rất nhiều lãng phí thời gian và thất vọng tự hỏi tại sao sửa chữa của tôi "không hoạt động" - khi trong thực tế, trình duyệt không bao giờ tải phiên bản cố định.

Tôi đã thử nút Làm mới. Tôi đã thử F5, Điều khiển- -F5, Điều khiển- -R, Điều khiển- -Shift- -R, giữ Điều khiển trong khi nhấp vào nút Làm mới, mọi thứ tôi có thể nghĩ đến - nó không thực sự tải nội dung mới từ máy chủ. Tôi đã xác nhận điều này với Fiddler.

Làm thế nào để tôi nói với IE "Tôi không quan tâm những gì bạn nghĩ rằng bạn đã lưu trữ, tôi muốn tải lại trang - không thực sự, tôi có nghĩa là nó lần này, thật thà, tôi muốn bạn thực ra đi đến máy chủ và tải xuống lại mọi thứ"?


145
2017-12-09 23:52


gốc


Sử dụng một cửa sổ duyệt web riêng tư, có thể? - Josh Lee
Có thể máy chủ web của bạn đang phục vụ trang cũ (qua bộ nhớ cache) thay vì phiên bản mới không? Không có vấn đề bao nhiêu lần bạn tải lại trong trường hợp đó. - Michael Todd
Michael, không, tôi đã xác minh trong Fiddler rằng IE không nhận được nội dung trang từ máy chủ. - EMP
Control + F5 đi qua Cache, nó là lẻ nếu nó không .... - Tom Wijsman
Từ ngữ tốt nhất của một câu hỏi tôi đã gặp cho đến nay trên StackExchange! - user785529


Các câu trả lời:


  1. Lựa chọn Công cụ >> Tùy chọn Internet.
  2. Nhấn vào Cài đặt nút trong Lịch sử duyệt web.
  3. Chọn Mỗi lần tôi truy cập trang web nút radio.
  4. Nhấp chuột được để đóng hộp thoại Cài đặt.
  5. Nhấp chuột được để đóng hộp thoại Tùy chọn Internet.

119
2017-12-09 23:57



Nếu đây là những gì bạn đã làm, đánh dấu nó là câu trả lời - Earlz
Nó có thể làm tổn thương hiệu suất duyệt chung, nhưng chỉ khi bạn duyệt web chung với IE ... - Joel Mueller
Ev: Phía người dùng này thường được sửa bằng cách thay đổi URL cho tất cả các tập lệnh và bảng định kiểu mỗi khi bạn chạm vào mã, thường bằng cách thêm ?version-number hậu tố chuỗi truy vấn. - bobince
"Mỗi lần tôi truy cập trang web" có thể không làm những gì bạn nghĩ. Xem fiddler2.com/redir/?id=httpperf - EricLaw
Tôi đồng ý với @EricLaw, nếu bạn sử dụng Fiddler, bạn sẽ thấy rằng các tệp được liên kết với trang đôi khi không được tải lại ngay cả khi "Mỗi khi tôi truy cập trang web" được đặt. Sử dụng menu thanh công cụ của IE: Cache> Luôn làm mới từ máy chủ hoặc nút Xóa bộ nhớ cache trong Fiddler. - Phillip Ngan


Vì nó nói rằng IE8 là trình duyệt, bạn có thể nhấn F12 để mở các công cụ phát triển và chọn menu Cache ở trên cùng và sau đó luôn làm mới từ máy chủ để bỏ qua bộ nhớ cache.

Nói ngắn gọn, nhấn F12. Nhấp chuột Bộ nhớ cache -> Luôn làm mới từ máy chủ

Bạn chỉ cần xóa bộ nhớ cache của mình ở đây, nếu đó là hành động mong muốn. Tùy chọn luôn luôn làm mới không phải là một tùy chọn toàn cầu và sẽ không cản trở hiệu năng tổng thể trong IE.

IE7 cũng có các công cụ phát triển, nhưng chúng phải được cài đặt riêng. Bạn cũng có thể sử dụng các công cụ phát triển IE8 để chạy trình duyệt ở chế độ IE7.


41
2017-07-08 18:30



1 để giải quyết điều này mà không cần sử dụng một tùy chọn toàn cầu. - Marcus Riemer
Tương tự như đây, điều đó vẫn không phải lúc nào cũng làm mới tất cả nội dung. Và tôi không biết rằng tải lại là tốt trên các URL hoặc - mỗi cửa sổ dường như có F12 riêng của mình tại thời điểm. Điều này là một cách toàn diện hơn để làm nếu, iff bạn có quyền truy cập vào javascript bao gồm. - ruffin
Làm thế nào để bạn làm điều này trong IE 11? Không có tùy chọn bộ nhớ cache tôi có thể tìm thấy. - David Thielen
Trong IE 11, tùy chọn này nằm dưới F12 -> Network -> biểu tượng thứ 3 từ bên trái. - Den


Ctrl+F5 trong IE tải lại trang bỏ qua bộ nhớ cache


22
2017-12-10 00:38



Không, không. Tôi biết nó bỏ qua bộ nhớ cache một số thời gian, nhưng không phải tất cả thời gian. - EMP
Ctrl + f5 luôn tải lại trang từ máy chủ. Những gì nó không nhất thiết phải làm là tải lại các tệp bổ sung mà tham chiếu trang
Đủ công bằng - nhưng tôi cần nó để tải lại mọi thứ. - EMP
CTRL + F5 sẽ thực hiện làm mới toàn bộ trang và tất cả tài nguyên của trang. Các cuộc gọi được thực hiện qua XMLHTTPRequest sau này có thể được lưu vào bộ nhớ cache (nếu bạn không muốn chúng được lưu trong bộ nhớ cache, hãy gửi các tiêu đề không có bộ đệm thích hợp). Một trong những caveat là nếu các trang trong câu hỏi là XML, nó thực sự được nạp thông qua MSXML, và rằng DocHost không tôn trọng CTRL + Làm mới đúng cách. - EricLaw
ctrl + f5 không phải lúc nào cũng tải lại mọi thứ từ máy chủ. Trong thử nghiệm của tôi javascript chứa trong tệp html không tải lại sau khi nhấn ctrl-f5 mặc dù trang đã thay đổi. - rcarver


IE rất háo hức với các trang bộ nhớ cache, ngay cả khi bạn yêu cầu nó không thông qua các tiêu đề bộ nhớ cache. Microsoft KB 234067 giải thích các câu thần chú cần thiết. Tóm lại, bạn cần phân phối các tiêu đề sau.

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>

Cài đặt Expires = -1 (như được đề xuất trong bài viết KB) nên hoạt động cho hầu hết các khung công tác; trình duyệt được yêu cầu xử lý các định dạng ngày không hợp lệ như trong quá khứ (RFC 2616).

Trong .NET, bạn có thể làm điều đó trên từng chi tiết từng trang bằng cách sử dụng tập hợp các phương thức này trước khi gọi trang web:

HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Response.Cache.SetValidUntilExpires(false);
HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
HttpContext.Response.Cache.SetNoStore();

xem: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Hoạt động tốt cho MVC3.0.


14
2017-12-10 01:31



Không đúng. IE6 + hoàn toàn tôn trọng tất cả các tiêu đề chặn bộ nhớ cache. fiddler2.com/redir/?id=httpperf - EricLaw
Đó là tất cả rất tốt, nhưng không giúp WRT câu hỏi. - Matthias Urlichs


Thanh công cụ dành cho nhà phát triển web có nút để dễ dàng xóa bộ nhớ cache. Tôi thường sử dụng nó trong trường hợp bạn mô tả.

Nó không phải là lý tưởng, vì bạn có thể không thực sự muốn xóa toàn bộ bộ nhớ cache của bạn, nhưng vì tôi không sử dụng IE để duyệt chung, nó hoạt động cho tôi.


6
2017-12-09 23:58





Điều này vẫn xảy ra trong IE9. Thật ngạc nhiên, câu trả lời là Ctrl- -ShiftNút -Refresh


4
2018-04-01 03:47



Có phải chức năng đó khác với nút Ctrl-Refresh không? - Jon Onstott


Ngẫu nhiên, vấn đề cũng có thể tồn tại cho người xem trang web của bạn. Tôi đã thấy ý tưởng sau đây trong một cuốn sách AJAX ...

Sử dụng PHP để thêm một mã thông báo ngẫu nhiên vào URL hiện tại để trình duyệt bị lừa nghĩ rằng đó là một trang riêng biệt.


3
2017-12-10 00:14



Tuy nhiên, làm cho URL trở nên xấu xí. - LawrenceC