Làm cách nào để buộc trình gỡ lỗi tập lệnh của Chrome tải lại javascript?


244

Tôi thực sự thích khả năng chỉnh sửa javascript trong trình gỡ lỗi chrome, tuy nhiên, tôi thấy rằng nó có thể thực sự có vấn đề khi trình gỡ lỗi tải lại JavaScript từ máy chủ.

Đôi khi tôi phải đi xa chỉ cần đóng trình gỡ lỗi và tải lại khung hoạt động tốt - nhưng những lần khác (tôi không thể xác định được điều kiện nào xảy ra) Tôi phải xóa bộ nhớ cache tạm thời trên internet. Đôi khi tôi thề rằng tôi phải đóng chrome hoàn toàn, sau đó xóa bộ nhớ cache và sau đó tải trang trước khi trình gỡ lỗi cuối cùng hiển thị cho tôi tập lệnh cập nhật nhất.

(NB. Không có bộ đệm của tập lệnh bởi máy chủ web)

Tôi đã tự hỏi nếu có ai biết một cách nhanh chóng và dễ dàng để nói với trình gỡ lỗi vô hiệu hóa tất cả javascript của nó và tìm nạp lại tất cả một lần nữa trên trang tải lại?


1
Đôi khi tôi thậm chí phải khởi động lại IIS Express để lấy lại mọi thứ.
Chris O

Câu trả lời:


330

Trong khi bạn đang phát triển tập lệnh của mình, hãy thử tắt bộ đệm Chrome.

Khi bạn tải lại trang, JavaScript sẽ được làm mới.


Chrome khoảng năm 2011

Mở cài đặt Vô hiệu hóa bộ đệm


Chrome khoảng năm 2018

Mở cài đặt Vô hiệu hóa bộ đệm

Bạn cũng có thể truy cập nó trên tab mạng:

Tab mạng


8
Vì vậy, điều này có áp dụng mọi lúc hay chỉ khi trình gỡ lỗi mở?
PilotBob

7
chỉ khi Công cụ Dev được mở
Karolis

11
Tôi đã cài đặt tất cả cùng, và đột nhiên, tôi bị mắc kẹt với một tập tin nhất định. Bất cứ ai tìm thấy một giải pháp?
IronicMuffin

5
Điều này chỉ thêm một số năm vào cuộc sống của tôi. Tôi đã thử CMD + SHIFT + R nhưng không được. Cảm ơn
Kevin Zych

7
Đối với những người đến với câu hỏi này gần đây hơn, hãy lưu ý rằng menu cài đặt nằm ngoài menu ba chấm dọc trong Công cụ dành cho nhà phát triển. Ở đó bạn sẽ có thể kiểm tra hộp để tắt bộ đệm.
Scott C Wilson

136

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

Menu ngữ cảnh hiển thị ở trên có thể truy cập bằng cách nhấp chuột phải / nhấn và giữ nút "tải lại", trong khi Chrome Dev Tools được mở .

Bộ nhớ cache trống và tải lại cứng hoạt động tốt nhất cho tôi.

Một lợi thế khác: Tùy chọn này giữ cho tất cả các tab và dữ liệu trang web mở khác không bị ảnh hưởng. Nó chỉ tải lại và xóa trang hiện tại.


5
Điều đó là hữu ích đặc biệt bởi vì nó là đơn giản để giải thích. Tôi đã gặp vấn đề với một khách hàng không thấy sửa đổi được thực hiện trên trang web của mình. Nhấn F12, sau đó nhấp chuột phải vào nút tải lại, chọn Cache trống và Tải lại cứng. Tôi đã hoàn thành, nhận xét về nhận xét đó :-)
Gull_Code

Đó là tính năng chrome tốt nhất :), bất cứ lúc nào bạn đời.
Bishoy Hanna

1
Cảm ơn! Tôi đã cố gắng tìm hiểu tại sao nút Tải lại đôi khi đưa cho tôi một menu và đôi khi không.
iconoclast

1
Tôi không gặp vấn đề gì với Ctrl + Shift + R khi tải lại các tệp Javascript, nhưng điều này sẽ không mang lại nội dung cập nhật được phục vụ trong các tệp HTML. Bộ nhớ cache rỗng và Tải lại cứng đã thực hiện thủ thuật cho điều đó.
S. Baggy

Cách tốt nhất để làm điều đó, sử dụng bộ đệm trống này và tải lại cứng
hoogw

34

Bạn luôn có thể xóa một tệp cụ thể bằng cách làm như sau:

  1. Mở công cụ Dev
  2. Nhấp vào tab Nguồn
  3. Tìm tập lệnh / hình ảnh / tập tin của bạn
  4. Kiểm tra bảng bên phải để xem nếu tệp của bạn được cập nhật

Nếu không:

  1. Nhấp chuột phải vào tài nguyên trong bảng điều khiển bên trái và chọn 'Liên kết mở trong tab mới'
  2. Buộc tải lại tài nguyên với các phương pháp trên. (Xem ví dụ của @Bishoy Hanna)

Điều này rất tiện dụng nếu bạn có tài nguyên trong khung và CTRL+F5không bắt buộc phải làm mới chúng.


1
thật. nhấn CTRL + F5 = Xóa trang hiện tại làm mới bộ đệm
STEEL

Tôi không có tab Tài nguyên.
Mike W

@MikeW nó đã được đổi tên thành Nguồn - Tôi đã cập nhật câu trả lời
Steve Tauber

12

Shift+ F5nhanh chóng xóa bộ nhớ cache.


18
ctrl-f5 không cắt mù tạt tôi sợ. Tệp javascript cũ vẫn còn trong trình gỡ lỗi.
Chris Fewtrell

9

Đối với Google chrome, nó không phải là Ctrl+ F5. Đó là Shift+ F5để xóa bộ nhớ cache hiện tại! Nó làm việc cho tôi!


Tại sao ? Tôi không hiểu sự khác biệt giữa điều đó và một bình luận. Cuối cùng, câu hỏi hữu ích nhất sẽ được nhìn thấy ở đầu bài.
RPDeshaies

2
Người hỏi không đề cập đến bất kỳ điểm nào Ctrl-F5 , vì vậy theo định nghĩa, câu trả lời của bạn không phải là câu trả lời cho câu hỏi mà người hỏi hỏi, đó là một nhận xét , chỉnh sửa cho các câu trả lời của người khác và nó nên được xử lý như vậy.
Edward A

9

Đây là một lối tắt đến DevTools:

  1. F12 để mở DevTools Chrome
  2. F1 để mở Cài đặt DevTools
  3. Kiểm tra Vô hiệu hóa bộ đệm (trong khi DevTools đang mở) như hiển thị bên dưới:

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

Lưu ý: Cập nhật mỗi bình luận của Dimi. Họ có xu hướng di chuyển nó vì vậy hãy cho tôi biết hoặc cập nhật bài viết nếu bạn nhận thấy rằng nó đã thay đổi.



2

Nếu bạn đang thực hiện các thay đổi cục bộ đối với javascript trong Công cụ dành cho nhà phát triển, bạn cần đảm bảo rằng bạn TẮT các thay đổi đó trước khi tải lại trang.

Trong tab Nguồn, với tập lệnh của bạn mở, nhấp chuột phải vào tập lệnh của bạn và nhấp vào tùy chọn "Sửa đổi cục bộ" từ menu ngữ cảnh. Điều đó đưa ra danh sách các tập lệnh bạn đã lưu sửa đổi. Nếu bạn thấy nó trong cửa sổ đó, Công cụ dành cho nhà phát triển sẽ luôn giữ bản sao cục bộ của bạn thay vì làm mới nó từ máy chủ. Nhấp vào nút "hoàn nguyên", sau đó làm mới lại và bạn sẽ nhận được bản sao mới.


1

Có vẻ như trình gỡ lỗi Chrome tải các tệp nguồn vào bộ nhớ và không cho phép chúng đi bất chấp các bản cập nhật bộ đệm của trình duyệt, tức là nó có bộ đệm riêng ngoài bộ đệm của trình duyệt không đồng bộ hóa. Ít nhất, đây là trường hợp khi làm việc với các tệp ánh xạ nguồn (tôi đang gỡ lỗi các nguồn bản thảo). Sau khi làm mới thành công bộ đệm của trình duyệt và xác thực rằng bằng cách duyệt trực tiếp vào tệp nguồn, bạn tải xuống tệp đã cập nhật, nhưng ngay khi bạn mở lại tệp trong trình gỡ lỗi, nó sẽ tiếp tục trả lại tệp cũ bất kể phiên bản từ bộ đệm của trình duyệt thông thường. Thực sự rất anoying.

Tôi sẽ coi đây là một lỗi trong chrome. Tôi sử dụng phiên bản 46.0.2490.71 m.

Điều duy nhất có ích, là khởi động lại chrome (đóng tất cả các trình duyệt chrome).


0

Nếu các tệp bạn đang tải được lưu vào bộ nhớ cache và nếu các thay đổi bạn đã thực hiện không phản ánh trong mã thì có 2 cách bạn có thể xử lý việc này

  1. Xóa Cache như mọi người đã nói

  2. Nếu bạn muốn Cache và chỉ các tệp phải được tải lại, bạn có thể chuyển đến tab mạng của công cụ dev và xóa mọi thứ đã được tải. lần sau nó sẽ không tải nó từ bộ đệm. bạn sẽ có những thay đổi mới nhất của bạn.


0

Nếu bạn đang chạy một máy chủ cục bộ trên Apache, bạn có thể gặp vấn đề giống như bộ đệm. Điều này xảy ra với tôi khi tôi có một máy chủ Apache chạy dưới Vagrant (trong hộp ảo).

Chỉ cần thêm các dòng sau vào tệp cấu hình của bạn ( /etc/httpd/conf/httpd.confhoặc tương đương):

#Disable image serving for network mounted drive
EnableSendfile off

Lưu ý rằng đáng để tìm kiếm thông qua tệp cấu hình để xem nếu EnableSendfileđược đặt thành onbất kỳ nơi nào khác.


0

Ngoài ra còn có 2 cách giải quyết nhanh chóng:

  1. Sử dụng chế độ ẩn danh để gỡ lỗi, đóng cửa sổ và mở lại.
  2. Xóa lịch sử duyệt web của bạn

0

Vô hiệu hóa Breakpoint khiến tập lệnh mới tải cho tôi.


0

Theo tôi, dễ nhất để làm việc trong 'phiên duyệt web riêng tư' của chrome, để đảm bảo rằng các tệp javascript của bạn không xuất phát từ bộ đệm.


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.