Làm cách nào tôi có thể buộc tải lại cứng trong Chrome cho Android


207

Trong Chrome dành cho máy tính để bàn, tôi có các tùy chọn trong các công cụ dev để tắt hoàn toàn bộ đệm khi các công cụ dev được mở và tôi có các tùy chọn để thực hiện tải lại cứng khi nhấp vào nút tải lại (khi mở công cụ dev).

Có kỹ thuật nào như vậy cho Chrome dành cho Android không? Tôi đã không tìm thấy bất kỳ thiết lập. Tôi có thể làm gì khi tôi muốn buộc trình duyệt tải xuống một số tệp javascript hoặc css thay vì sử dụng bộ nhớ cache khi phát triển?



Chỉ cần quay lại để mở rộng (những gì đã có) một ứng dụng web ổn định và phát hiện ra rằng điều này đã xảy ra. Dữ liệu trạng thái mới nhất được lưu trữ trong tệp .js với hậu tố url cache-buster. Điều này không còn hoạt động, trong Chrome trên Windows, ChromeOS hoặc Android.
Euan M

có vẻ như làm mới đơn giản (nhấp vào mũi tên w trong vòng tròn) phát hiện bất kỳ thay đổi nào trong những ngày này. không bịp bợm. ... Hãy cho tôi biết nếu tôi sai.
Ronnie Royston

Câu trả lời:


167

Tôi đang sử dụng window.location.reload(true)theo MDN (và câu hỏi tương tự này ) nó buộc trang phải tải lại từ máy chủ.

Bạn có thể thực thi mã này trong trình duyệt bằng cách nhập javascript:location.reload(true)vào thanh địa chỉ.


7
Chỉ cần gõ nó vào thanh địa chỉ tiền tố mã javascript:.
Konrad Dzwinel

4
Trên thực tế, bạn nên có thể tránh window.một phần. javascript:location.reload(true)nên làm thủ thuật.
Konrad Dzwinel

5
không hoạt động với tôi trên chrome v55.0.2883.91 / android5.1.1
Kev

20
Nó không hoạt động trên máy của tôi, v56.0.2924.87 trên Android 7.1.1. Tại sao bạn chỉ có thể nhấn refresh và yêu cầu trình duyệt tải xuống lại như trước đây để làm việc? Thật khó chịu khi cố gắng phát triển.
Scott Wilson

33
Tôi mở một cửa sổ Ẩn
Deepak Kamat

132

Xem trang ở chế độ ẩn danh sẽ vô hiệu hóa bộ đệm. Đó là cách duy nhất tôi có thể buộc làm mới trên biểu định kiểu mà không xóa thủ công bộ đệm thông qua cài đặt.


2
@Kev Không phải cho tôi.
Ricky Boyce

1
Có, ứng dụng này hoạt động với tôi trên Android 6.0.1 với Chrome 59.
Avio

4
Điều này hoạt động tốt hơn câu trả lời được chấp nhận, ít nhất là trên Android 7.1.2 và Chrome 61. Bộ nhớ đệm thực sự rất tích cực. Ngay cả việc làm trống các tệp được lưu trong bộ nhớ cache cho tên miền đó cũng không hoạt động đối với tôi.
Ogier Schelvis

Tôi sử dụng nó thường xuyên hơn, nếu nó không hoạt động với bạn thì có lẽ bộ đệm nằm trên máy chủ chứ không phải trình duyệt.
Deepak Kamat

2
Nó sẽ xóa bộ nhớ cache trong chế độ ẩn danh chỉ lần đầu tiên. Sau đó, vấn đề tương tự xuất hiện
Ma

75

Cũng là một lựa chọn:

  1. Thực đơn
  2. Cài đặt
  3. Riêng tư
  4. Xóa dữ liệu truy cập
  5. Kiểm tra "Cache" và nhấn "XÓA"

và sau đó tải lại trang.


1
Bây giờ nó đã thay đổi thành Clear Browsing Data, nơi bạn có thể kiểm tra clear cachebằng hộp kiểm.
shaijut

1
Không, và sau đó, GIẾT Chrome, khởi chạy lại Chrome, sau đó tải lại trang. Vâng, nó chỉ trở nên tồi tệ hơn.
ADTC

4
Cập nhật: Ngay cả việc giết Chrome cũng không hoạt động nữa. Tôi không biết cái gì mà tùy chọn "Hình ảnh và tệp được lưu trong bộ nhớ cache" đang xóa .. nó vẫn giữ tệp CSS được lưu trong bộ nhớ cache. Điều này đang trở nên vô lý hơn!
ADTC

1
Cập nhật: Xem câu trả lời của heidgert. Xóa bộ nhớ cache vẫn có thể tải kết quả "được lưu trong bộ nhớ cache" từ các máy chủ của Google nếu "Trình tiết kiệm dữ liệu" được bật trong cài đặt Chrome.
ADTC

1
Điều này sẽ xóa bộ nhớ cache từ TẤT CẢ các trang web, không chỉ trang web được kiểm tra.
Obmerk Kronen

46

Bạn có thể sử dụng tùy chọn Request Desktop Site từ menu ứng dụng (ở bên phải thanh địa chỉ) sẽ buộc trang tải lại.

Đơn giản chỉ cần chạm vào nó, chờ làm mới, sau đó bỏ chọn nó.


Xác nhận làm việc trên Chrome. Tôi gần như bỏ lỡ câu trả lời này trong khi lướt qua. Xóa các bình luận về Firefox để giúp người tiếp theo. Tôi hy vọng điều này không xảy ra vì mâu thuẫn với ý định của tác giả .
Ishmaeel

1
Đây là câu trả lời tốt nhất cho sự phát triển khi bạn nhận được một tập tin css hoặc js bị kẹt. Tôi thấy thường làm mới hoạt động tốt, nhưng đôi khi vì một số lý do không thể giải thích được, tệp js hoặc css bị kẹt và đây là cách duy nhất để bỏ chọn nó mà tôi đã tìm thấy. Ước gì tôi có thể cung cấp nhiều hơn 1 upvote, lol, vì đó là một sửa chữa dễ dàng.
Lizardx

8
Điều này đã từng hoạt động một thời gian trước, nhưng không còn trên bất kỳ phiên bản chrome gần đây nào kể từ tháng 12 năm 2017.
Capagris

1
Điều này hoạt động với tôi với Chrome 2018 65.0.3325.109 trên Samsung Android 5.1.1; SM-T900 Build / LMy47X. Nó có lợi ích bổ sung là không phá hủy dữ liệu được lưu trong bộ nhớ cache (như localStoragegiá trị).
MÃ-REaD

1
Không hoạt động vào tháng 4 năm 2019. Chrome 73+ không hoạt động.
SE đình công một lần nữa Thật không may

31

Đề cập đến điều này bởi vì bạn đã đề cập "khi phát triển".

Bạn có thể điều khiển thiết bị di động thông qua Trình duyệt Chrome Desktop.

Truy cập chrome://inspect/#devicestrên máy tính để bàn của bạn. Và Inspectthiết bị được kết nối với máy tính để bàn của bạn. Đồng ý khi xin phép.

Bây giờ bạn sẽ thấy một cửa sổ Devtool chính thức cho trang hiện tại trên thiết bị di động.

Bây giờ, Sử dụng phím tắt tải lại cứng (Cmd + Shift + R) trên máy tính để bàn để tải lại cứng trên thiết bị di động!


3
Nhận xét này đã lỗi thời nhưng đưa tôi đi đúng hướng. Trước tiên, bạn phải bật điện thoại thực tế để gỡ lỗi qua Chrome.
Deborah

Để biết hướng dẫn chi tiết về cách bật gỡ lỗi USB trên điện thoại Android, hãy xem: stackoverflow.com/a/16707217/1024735 . Và tính năng này là tuyệt vời cho nhiều hơn là khả năng tải lại cứng. Cảm ơn!
kevinmicke

Để thử nghiệm trong trình giả lập Android Ctrl + Shift + R trong devtools thực sự rất hay và nhanh chóng. Không bật và tắt bất kỳ cài đặt nào, vv Cảm ơn.
Rainer Schwarze

21

Đừng quên đảm bảo rằng cài đặt "Giảm mức sử dụng dữ liệu" được TẮT, vì dường như nó tải xuống dữ liệu được lưu trong bộ nhớ cache (từ máy chủ Google?) Ngay cả khi bộ đệm cục bộ của bạn bị xóa.


1
Tôi nghĩ rằng cài đặt này bây giờ được gọi đơn giản là "Data Saver".
Bletch

19

Cách đặt lại tất cả dữ liệu cho một URL / Trang web cụ thể trên Chrome Mobile cho Android:

1 - Mở menu Chrome và nhấn vào biểu tượng "i (thông tin)"

một

2 - nhấn "Cài đặt trang"

hai

3 - Nhấn vào biểu tượng thùng rác

số ba

Đó là nó, ngay cả nhân viên dịch vụ có ý thức sâu sắc nhất cho URL đó sẽ chết.


7
Điều này không hoạt động trên Chrome 73.0.3683.90 trên Samsung S9 +. Tôi đã thử điều này hơn 15 lần, cũng như javascript: location.reload (true) và nó không hoạt động. Có vẻ như người dùng Android cũng không thể là nhà phát triển, theo Guug-Ul, chúa tể bóng tối.
SE đình công một lần nữa Thật không may

Hoạt động trên Note 8 của tôi .. Nhưng tôi phải làm mới trang sau.
Chris Cudmore

Bạn cũng có thể nhận menu này bằng cách nhấp vào biểu tượng khóa (hoặc bất cứ thứ gì nó hiển thị cho các kết nối không an toàn) ở bên trái của URL.
Chris Cudmore

Cho đến nay giải pháp tốt nhất! <3
bArraxas

12

Tôi biết đây là một câu hỏi cũ, nhưng tôi thấy rằng câu trả lời được chấp nhận không phù hợp với tôi.

Một giải pháp thay thế sẽ được nối thêm các url với một tham số url mới như website.com?a=1, website.com?a=2vv

Tất nhiên, nếu bạn đã có tham số, bạn sẽ sử dụng ký hiệu và tức là website.com?q=test&a=1


Những công việc này. Chỉ cần ?alà đủ nếu bạn chỉ muốn tải lại một lần.
Dan Dascalescu

11
Điều này không khả thi để tải lại các tệp tham chiếu được lưu trong bộ nhớ cache (như CSS hoặc JS), vì bạn thực sự không thể chỉnh sửa HTML chính để thêm ?a- tất nhiên, trừ khi bạn là máy chủ lưu trữ trang web.
ADTC

7

Kể từ năm 2018, từ trung tâm trợ giúp của google (đã thử nghiệm trên Chrome 63):

  1. nhấn vào menu ba chấm ;
  2. chọn Lịch sử> Xóa dữ liệu duyệt web ;
  3. nếu cần, chọn khoảng thời gian (phía trên danh sách kiểm tra);
  4. bỏ chọn tất cả các mục nhưng hình ảnh và tệp được lưu trong bộ nhớ cache ;
  5. tiến hành xóa dữ liệu và xác nhận.

Như đã đề cập trong một câu trả lời khác, các tab ẩn danh cũng được sử dụng rất nhiều để phát triển.


Lưu ý bước 3: chọn khoảng thời gian. Điều này đã tạo ra mánh khóe cho tôi vì tôi đã cố gắng xóa các trang được lưu trong bộ nhớ cache từ 3 tuần trước.
Dror

Đó không phải là lỗi của bạn nhưng đây là một giải pháp khá khủng khiếp vì nó cũng xóa dữ liệu duyệt web cho tất cả các trang web khác, điều này thật khó khăn nếu bạn sử dụng trình duyệt của mình cho bất cứ điều gì khác ngoài công việc của dev!
GameKyuubi

@GameKyuubi Thật ra, nếu bạn chọn dữ liệu từ giờ trước thì cơn đau bị hạn chế. Nhưng tất nhiên giải pháp này là khá nghèo, tôi chỉ tham chiếu nó bởi vì đó là một chính thức và nó không làm việc (trái với một vài người khác).
Skippy le Grand Gourou

Đó là những gì tôi muốn nói, thực tế rằng đây là giải pháp chính thức là hết sức lúng túng.
GameKyuubi

7

Tôi tìm thấy một giải pháp hiệu quả, nhưng nó thật xấu xí.

  • Kết nối thiết bị Android với PC bằng cáp USB và mở Chrome trên máy tính để bàn của bạn .
  • Nhấp chuột phải vào bất cứ nơi nào trên một trang và chọn "Kiểm tra".
  • Nhấp vào menu ba chấm và chọn "Thiết bị từ xa" trong menu "Công cụ khác":

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

  • Trong bảng điều khiển mở ra, chọn thiết bị của bạn và sau đó nút "Kiểm tra" bên cạnh tên của tab trên điện thoại của bạn cần được làm mới:

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

  • Trong cửa sổ mở ra, nhấp vào tab "Mạng" và chọn hộp kiểm "Tắt bộ đệm":

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

  • Tải lại trang trên điện thoại của bạn hoặc sử dụng nút tải lại trong cửa sổ DevTools.

Lưu ý: nếu điện thoại của bạn không xuất hiện trong danh sách thiết bị:

  • đảm bảo kết nối USB đang sử dụng chế độ Truyền tệp và không chỉ đơn giản là sạc
  • hãy thử khởi động lại ADB hoặc chạy adb devicesđể xem thiết bị có bị phát hiện không

1
giải pháp tuyệt vời, điều này hoạt động chủ yếu để "kiểm tra" trang web của thiết bị trực tiếp trên máy tính để bàn và bạn cũng có thể xóa bộ nhớ cache. Cảm ơn.
juanram0n

Đây thực sự là câu trả lời đẹp nhất.
Giăng

6

Gỡ lỗi từ xa cho phép bạn sử dụng các công cụ phát triển máy tính để bàn:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging


vâng cảm ơn tôi đã biết điều đó - nên đã đề cập đến điều này, nhưng đôi khi tôi không muốn cắm nó vào nhưng vẫn có tùy chọn này
Riesling

2
Bạn có thể xóa bộ nhớ cache như thế này: support.google.com.vn/chromals/2392709
Swonkie

5
Cảm ơn, một tùy chọn mà không xóa toàn bộ bộ đệm cho tất cả các trang web sẽ rất tuyệt
Riesling

Đây là tùy chọn đáng tin cậy nhất khi bạn bật Mạng> Tắt bộ nhớ cache
Rupert Rawnsley

6

Các phiên bản gần đây của Chrome cache rất tích cực. Ngay cả các kỹ thuật làm bộ nhớ cache như " http: // url? Cập nhật = datecode " cũng ngừng hoạt động. Bạn phải xóa bộ nhớ cache hoặc khởi chạy một cửa sổ ẩn danh mỗi lần (và đảm bảo rằng trình tiết kiệm dữ liệu đã tắt).


Thật thú vị, tôi đã không nhận thức được điều này. Bạn có nguồn nào hỗ trợ cho yêu cầu này không?
Antoine

2
Đây chỉ là hành vi được quan sát khi tôi phát triển các ứng dụng Javascript của riêng mình. Tôi đã phải chỉ định lệnh CACHE-KIỂM SOÁT: NO-CACHE trong tiêu đề HTTP từ máy chủ web phát triển của tôi để tránh phát điên vì các lỗi sẽ không biến mất (vì Chrome vẫn khăng khăng lưu vào bộ nhớ mã cũ). Firefox không hiển thị hành vi này.
Greg Searle

4

Cách đáng tin cậy duy nhất tôi thấy rằng không yêu cầu cắm điện thoại vào PC như sau:

1. Buộc dừng ứng dụng Chrome.

Điều này phải được thực hiện trước tiên và bạn không thể mở lại Chrome cho đến khi bạn hoàn thành các bước này. Có một số cách để buộc dừng lại. Hầu hết các trình khởi chạy tại nhà sẽ cho phép bạn truy cập "Thông tin ứng dụng" bằng cách giữ ngón tay trên biểu tượng chrome và chọn biểu tượng "i". Thay phiên, bạn có thể đi đến cài đặt Android và chỉ cần tìm kiếm "Chrome".

Khi đã ở trong "Thông tin ứng dụng", chọn "Buộc dừng" như hiển thị bên dưới:


2. Xóa bộ nhớ cache của Chrome

Chọn "Lưu trữ" từ cùng một màn hình:


Cuối cùng, chọn "Xóa bộ nhớ cache".

Khi bạn quay lại ứng dụng Chrome, trang sẽ tự tải lại và cung cấp phiên bản không lưu trong bộ nhớ cache.

Ngoài ra, tôi đã tìm thấy một trang web giúp kiểm tra dễ dàng nếu bạn đã xóa bộ nhớ cache của mình: https://refreshyourcache.com/en/cache-test/
Tôi không có cách nào liên kết với nó. Lưu ý rằng phương pháp xóa bộ nhớ cache được đề cập trên trang web đó trên thực tế đã lỗi thời và không còn hiệu lực.


1
Hoàn hảo, đó là giải pháp duy nhất hiệu quả với tôi mà không cần gỡ lỗi USB.
Luis Lema

2

EDIT: Phương pháp này đã không được chấp nhận trong Google Chrome và sẽ không còn hoạt động.

TRẢ LỜI GỐC:

Tôi đã có thể xóa bộ nhớ cache (bao gồm cả xhr tiếp theo) bằng chrome: // net-internals

chrome nội bộ

Sau đó nhấp vào mũi tên nhỏ ở trên cùng bên phải

thực đơn

Chọn "xóa bộ nhớ cache" từ menu đó.


Trong Chrome 75, chrome: // net-internals cho biết "Trình xem sự kiện nội bộ và chức năng liên quan đã bị xóa ..."
Bort

@Bort cảm ơn vì đã ngẩng cao đầu. Có vẻ như phương pháp này sẽ không hoạt động nữa.
Tom Kay

1

Đây là một giải pháp đơn giản khác có thể hoạt động khi người khác thất bại:

Hôm nay, một giải pháp phía nhà phát triển khá đơn giản đã làm việc cho tôi khi vấn đề bộ đệm là tệp CSS được lưu. Tóm lại: Tạo một bản sao tệp html tạm thời và duyệt đến nó để cập nhật bộ đệm CSS.

Thủ thuật này có thể làm mới tệp CSS, ít nhất là trong trình duyệt mặc định có biểu tượng toàn cầu màu xanh của Android (nhưng rất có thể là trình duyệt đôi, trình duyệt Chrome chính thức, và bất kỳ trình duyệt nào khác chúng ta gặp trên điện thoại "thông minh" với xu hướng lưu trữ bộ nhớ cache mạnh mẽ ).

Chi tiết:

Lúc đầu, tôi đã thử một số giải pháp khá đơn giản được chia sẻ ở đây, nhưng không thành công (ví dụ: xóa lịch sử gần đây của trang web cụ thể, nhưng không phải tháng và tháng của nó). CSS mới nhất của tôi tuy nhiên sẽ không được áp dụng làm mới apon. Và mặc dù tôi đã sử dụng thủ thuật đánh số phiên bản trong cuộc gọi tệp CSS trong phần đầu của html, điều này đã giúp tôi tránh được các bộ nhớ cache hung hăng phiền phức này trong quá khứ. (ví dụ: link rel = "styleheet" href = "style.css? v = 001" trong đó bạn nâng cấp số phiên bản giả này mỗi khi bạn thay đổi tệp CSS, ví dụ 001, 002, 003, 004 ... (nên được thực hiện trong mọi tệp html của trang web))

Lần này (tháng 8 năm 2019), bản cập nhật số phiên bản tệp CSS không còn hiệu lực, cũng như một số biện pháp đơn giản được đề cập ở đây có hiệu quả với tôi hoặc thậm chí tôi không thể tìm thấy quyền truy cập vào một số trong số chúng (trên điện thoại Android mượn).

Cuối cùng, tôi đã thử một cái gì đó tương đối đơn giản mà cuối cùng đã giải quyết được vấn đề:

Tôi đã tạo một bản sao của tệp index.html của trang web để đặt cho nó một tên khác (indexcopy.html), đã tải nó lên, duyệt nó trên thiết bị Android, sau đó duyệt lại trang gốc, làm mới nó (với nút làm mới bên trái thanh địa chỉ) và voilà: Lần này, việc làm mới index.html cuối cùng đã hoạt động.

Giải thích: Phiên bản tệp CSS mới nhất cuối cùng đã được áp dụng trên Android khi làm mới trang html đang được đề cập do bản sao được lưu trong bộ nhớ cache của tệp CSS hiện đã được cập nhật khi tệp CSS được gọi từ một trang html tạm thời có tên khác không tồn tại ở bất kỳ đâu trong lịch sử trình duyệt và tôi có thể xóa lại sau đó. Bộ nhớ đệm tích cực dường như đã bỏ qua URL CSS và thay vào đó là URL HTML, mặc dù đó là tệp CSS cần được cập nhật trong bộ đệm.


Đáng buồn thay, đây là người duy nhất dường như làm việc ngày nay. Điều đó có nghĩa là bất cứ khi nào làm việc trên css, bạn cần tiếp tục cập nhật hàm.php trong wordpress để lên phiên bản. Có một điều ngu ngốc khác về google, người không nghĩ và đang ở ngay đó với microsoft. Nhưng vâng, một mánh khóe cũ :)
Gavin Simpson

1

Nếu đó chỉ là vấn đề của các tệp được bao gồm, chỉ cần thêm phiên bản sau đường dẫn ( ?v=12345678)

<link rel="stylesheet" type="text/css" href="style.css?v=12345678" />

Bất cứ ai tải trang một lần nữa sẽ thấy thay đổi.


1
Không thể bỏ qua câu trả lời tuyệt vời!
lisandro
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.