Mục Background services (Dịch vụ nền) của Chrome DevTools là một tập hợp các công cụ cho API JavaScript, cho phép trang web của bạn gửi và nhận thông tin cập nhật ngay cả khi người dùng không mở trang web của bạn. Về mặt chức năng, dịch vụ nền tương tự như quy trình nền.
Mục Background services (Dịch vụ nền) cho phép bạn gỡ lỗi các dịch vụ nền sau:
Chrome DevTools có thể ghi lại các sự kiện tìm nạp, đồng bộ hoá và thông báo trong 3 ngày, ngay cả khi bạn không mở DevTools. Điều này có thể giúp bạn đảm bảo rằng các sự kiện đang được gửi và nhận như dự kiến.
Ngoài các sự kiện dịch vụ nền, DevTools có thể:
- Hiển thị các báo cáo mà Chrome đã gửi hoặc sắp gửi bằng Reporting API.
- Cho phép bạn gỡ lỗi và kiểm thử bộ nhớ đệm cho thao tác tiến/lùi chỉ bằng một cú nhấp chuột.
Tìm nạp ở chế độ nền
Background Fetch API (API Tìm nạp ở chế độ nền) cho phép trình chạy dịch vụ tải các tài nguyên lớn xuống một cách đáng tin cậy, chẳng hạn như phim hoặc podcast) dưới dạng dịch vụ nền. Cách ghi lại các sự kiện tìm nạp ở chế độ nền trong 3 ngày, ngay cả khi bạn không mở DevTools:
- Mở DevTools trên một trang sử dụng Background Fetch API.
Chuyển đến Application (Ứng dụng) > Background services (Dịch vụ nền) > Background fetch (Tìm nạp ở chế độ nền) rồi nhấp vào
Record (Ghi).

Trên trang của bạn, hãy kích hoạt một số hoạt động tìm nạp ở chế độ nền. DevTools ghi lại các sự kiện vào bảng.

Nhấp vào một sự kiện để xem thông tin chi tiết của sự kiện đó trong không gian bên dưới bảng.
Bạn có thể đóng DevTools và để quá trình ghi chạy trong tối đa 3 ngày. Để dừng ghi, hãy nhấp vào
Stop (Dừng).
Đồng bộ hoá ở chế độ nền
Background Sync API (API Đồng bộ hoá ở chế độ nền) cho phép trình chạy dịch vụ ngoại tuyến gửi dữ liệu đến máy chủ sau khi thiết lập lại kết nối Internet đáng tin cậy. Cách ghi lại các sự kiện đồng bộ hoá ở chế độ nền trong 3 ngày, ngay cả khi bạn không mở DevTools:
- Mở DevTools, chẳng hạn như trên trang minh hoạ này.
Chuyển đến Application (Ứng dụng) > Background services (Dịch vụ nền) > Background sync (Đồng bộ hoá ở chế độ nền) rồi nhấp vào
Record (Ghi).

Trên trang minh hoạ, hãy nhấp vào Register background sync (Đăng ký đồng bộ hoá ở chế độ nền) để đăng ký trình chạy dịch vụ tương ứng và nhấp vào Allow (Cho phép) khi được nhắc.
Đăng ký trình chạy dịch vụ là một hoạt động đồng bộ hoá ở chế độ nền. DevTools ghi lại các sự kiện vào bảng.

Nhấp vào một sự kiện để xem thông tin chi tiết của sự kiện đó trong không gian bên dưới bảng.
Bạn có thể đóng DevTools và để quá trình ghi chạy trong tối đa 3 ngày. Để dừng ghi, hãy nhấp vào
Stop (Dừng).
(Thử nghiệm) Giảm thiểu theo dõi tỷ lệ thoát
Thử nghiệm giảm thiểu hoạt động theo dõi tỷ lệ thoát trong Chrome cho phép bạn xác định và xoá trạng thái của các trang web có vẻ như đang thực hiện hoạt động theo dõi trên nhiều trang web bằng kỹ thuật theo dõi tỷ lệ thoát. Bạn có thể buộc giảm thiểu hoạt động theo dõi theo cách thủ công và xem danh sách các trang web có trạng thái đã bị xoá.
Cách buộc giảm thiểu hoạt động theo dõi:
- Chặn cookie của bên thứ ba trong Chrome. Chuyển đến và bật
> Settings (Cài đặt) >
Privacy and security (Quyền riêng tư và bảo mật) > Cookies and other site data (Cookie và dữ liệu trang web khác) >
Block third-party cookies (Chặn cookie của bên thứ ba).
- Trong
chrome://flags, hãy đặt thử nghiệm Bounce tracking mitigations (Giảm thiểu theo dõi tỷ lệ thoát) thành Enabled With Deletion (Đã bật và xoá). - Mở DevTools rồi chuyển đến Application > Background services > Bounce tracking mitigations.
- Nhấp vào một đường liên kết số trang không truy cập và đợi (10 giây) để Chrome ghi lại số trang không truy cập. Thẻ Issues (Vấn đề) cảnh báo bạn về việc sắp xoá trạng thái.
- Nhấp vào Force run (Buộc chạy) để xoá trạng thái ngay lập tức.
![]()
Dịch vụ thông báo
Sau khi trình chạy dịch vụ nhận được Thông báo đẩy từ một máy chủ, trình chạy dịch vụ sẽ sử dụng Notifications API (API Thông báo) để hiển thị dữ liệu cho người dùng. Cách ghi lại Thông báo trong 3 ngày, ngay cả khi bạn không mở DevTools:
- Mở DevTools
Chuyển đến Application (Ứng dụng) > Background services (Dịch vụ nền) > Notifications (Thông báo) rồi nhấp vào
Record (Ghi).

Nhấp vào Schedule Notification (Lên lịch thông báo) và Allow (Cho phép) khi được nhắc.
Chờ thông báo xuất hiện. DevTools ghi lại các sự kiện thông báo vào bảng.

Nhấp vào một sự kiện để xem thông tin chi tiết của sự kiện đó trong không gian bên dưới bảng.
Bạn có thể đóng DevTools và để quá trình ghi chạy trong tối đa 3 ngày. Để dừng ghi, hãy nhấp vào
Stop (Dừng).
Tải theo suy đoán
Tải theo suy đoán cho phép tải trang gần như tức thì dựa trên các quy tắc suy đoán mà bạn xác định. Điều này cho phép trang web của bạn tìm nạp trước và kết xuất trước hầu hết các trang được chuyển đến.
Tìm nạp trước sẽ tìm nạp tài nguyên trước và kết xuất trước sẽ tiến thêm một bước nữa và kết xuất toàn bộ trang trong một quy trình kết xuất nền ẩn.
Bạn có thể gỡ lỗi các lượt tải theo suy đoán trong mục Application (Ứng dụng) > Background services (Dịch vụ nền) > Speculative loads (Tải theo suy đoán). Mục này có 3 chế độ xem:
- Speculative loads (Tải theo suy đoán). Chứa trạng thái suy đoán cho trang hiện tại, URL hiện tại, các trang mà trang hiện tại cố gắng tải theo suy đoán và trạng thái của các trang đó.
- Rules (Quy tắc). Chứa các tập hợp quy tắc trên trang hiện tại trong bảng điều khiển Elements (Phần tử) và trạng thái chung của các suy đoán.
- Speculations (Suy đoán). Chứa một bảng có thông tin về các nỗ lực tải suy đoán và trạng thái của các nỗ lực đó. Nếu một nỗ lực không thành công, bạn có thể nhấp vào nỗ lực đó trong bảng để xem thông tin chi tiết và lý do không thành công.
Hãy thử gỡ lỗi các lượt tải theo suy đoán trên trang minh hoạ kết xuất trước này:
Mở DevTools trên trang rồi chuyển đến Application > Background services > Speculative loads. Nếu bạn không thấy bất kỳ lượt tải theo suy đoán nào do trang khởi tạo, hãy tải lại trang đó.

Trang bắt đầu của bản minh hoạ kết xuất trước 2 trang và không kết xuất trước được 1 trang. Nhấp vào View all speculations (Xem tất cả suy đoán).
Trong Speculations (Suy đoán), hãy chọn suy đoán có trạng thái Failure (Không thành công) để xem Failure reason (Lý do không thành công) trong mục có thông tin chi tiết ở dưới cùng.

Trong trường hợp này, quá trình kết xuất trước không thành công vì không có trang
/next3.htmltrên trang web.Bạn có thể lọc bảng trong thẻ Speculations (Suy đoán) bằng cách nhập một giá trị bất kỳ vào thanh bộ lọc ở trên cùng hoặc sử dụng một trong các bộ lọc có khoá:
url:VALUE,action:VALUEhoặcaction:VALUE.
Mở mục Rules (Quy tắc) rồi nhấp vào Status (Trạng thái) để xem tập hợp quy tắc ở dưới cùng. Khi nhấp vào đường liên kết Rule set (Tập hợp quy tắc), bạn sẽ được chuyển đến bảng điều khiển Elements (Phần tử) và thấy vị trí xác định quy tắc suy đoán.

Để xem hướng dẫn chi tiết hơn, hãy xem bài viết Gỡ lỗi quy tắc suy đoán.
Thông báo đẩy
Để hiển thị thông báo đẩy cho người dùng, trước tiên, trình chạy dịch vụ phải sử dụng Push Message API (API Thông báo đẩy) để nhận dữ liệu từ một máy chủ. Khi trình chạy dịch vụ đã sẵn sàng hiển thị thông báo, trình chạy dịch vụ sẽ sử dụng Notifications API (API Thông báo). Cách ghi lại thông báo đẩy trong 3 ngày, ngay cả khi bạn không mở DevTools:
- Mở DevTools, chẳng hạn như trên trang minh hoạ này.
Chuyển đến Application (Ứng dụng) > Background services (Dịch vụ nền) > Push Messaging (Thông báo đẩy) rồi nhấp vào
Record (Ghi).

Trên trang minh hoạ, hãy bật/tắt Enable push notifications (Bật thông báo đẩy), nhấp vào Allow (Cho phép) khi được nhắc, nhập thông báo rồi gửi. DevTools ghi lại các sự kiện thông báo đẩy vào bảng.

Nhấp vào một sự kiện để xem thông tin chi tiết của sự kiện đó trong không gian bên dưới bảng.
Bạn có thể đóng DevTools và để quá trình ghi chạy trong tối đa 3 ngày. Để dừng ghi, hãy nhấp vào
Stop (Dừng).
API báo cáo
Một số lỗi chỉ xảy ra trong quá trình sản xuất. Bạn không bao giờ thấy các lỗi đó cục bộ hoặc trong quá trình phát triển vì người dùng, mạng và thiết bị thực sẽ thay đổi trò chơi.
Ví dụ: giả sử trang web mới của bạn dựa vào phần mềm của bên thứ ba sử dụng document.write() để tải các tập lệnh quan trọng. Người dùng mới trên khắp thế giới mở trang web của bạn nhưng họ có thể có kết nối chậm hơn so với kết nối mà bạn đã kiểm thử. Bạn không biết rằng trang web của bạn bắt đầu gặp sự cố đối với họ vì Chrome can thiệp vào document.write() trên các mạng chậm. Ngoài ra, bạn có thể muốn theo dõi các API ngừng hoạt động hoặc sắp ngừng hoạt động mà toàn bộ mã nguồn của bạn có thể đang sử dụng.
Reporting API (API Báo cáo) được thiết kế để giúp bạn theo dõi các lệnh gọi API không dùng nữa, các hành vi vi phạm bảo mật của trang và nhiều nội dung khác. Bạn có thể thiết lập tính năng báo cáo như mô tả trong bài viết Theo dõi ứng dụng web bằng Reporting API.
Cách xem các báo cáo do một trang tạo:
Mở DevTools rồi chuyển đến Application > Background services > Reporting API.

Thẻ Reporting API (API Báo cáo) được chia thành 3 phần:
- Bảng Reports (Báo cáo) có thông tin sau đây về từng báo cáo:
- URL gây ra quá trình tạo báo cáo
- Type (Loại) vi phạm
- Báo cáo Trạng thái
- Điểm cuối Destination (Đích đến)
- Dấu thời gian Generated at (Được tạo vào)
- Body (Nội dung) báo cáo
- Phần xem trước Report body (Nội dung báo cáo). Để xem trước nội dung báo cáo, hãy nhấp vào một báo cáo trong bảng báo cáo.
- Mục Endpoints (Điểm cuối) có thông tin tổng quan về tất cả các điểm cuối được định cấu hình trong tiêu đề
Reporting-Endpoints.
Trạng thái báo cáo
Cột Status (Trạng thái) cho biết Chrome đã gửi báo cáo thành công, sắp gửi báo cáo đó hay không gửi được.
| Trạng thái | Mô tả |
|---|---|
Success |
Trình duyệt đã gửi báo cáo và điểm cuối trả lời bằng mã thành công (200 hoặc mã phản hồi thành công khác 2xx). |
Pending |
Trình duyệt đang cố gắng gửi báo cáo. |
Queued |
Báo cáo đã được tạo và trình duyệt chưa cố gắng gửi báo cáo đó. Báo cáo xuất hiện dưới dạng Queued trong một trong 2 trường hợp sau:
|
MarkedForRemoval |
Sau khi thử lại một lúc (Queued), trình duyệt đã ngừng cố gắng gửi báo cáo và sẽ sớm xoá báo cáo đó khỏi danh sách báo cáo cần gửi. |
Báo cáo sẽ bị xoá sau một thời gian, bất kể báo cáo đó có được gửi thành công hay không.
Ngữ cảnh báo cáo sự cố
Với Reporting API (API Báo cáo), bạn có thể định cấu hình trang web để báo cáo sự cố cho điểm cuối máy chủ crash-reporting hoặc default. Báo cáo sự cố có thể bao gồm giao diện CrashReportContext cho phép bạn ghi lại dữ liệu tuỳ ý liên quan đến sự cố theo cặp khoá-giá trị cho ngữ cảnh duyệt web cấp cao nhất hiện tại.
Trong thẻ Application (Ứng dụng) > Background services (Dịch vụ nền) > Reporting API (API Báo cáo) > Crash Report Context (Ngữ cảnh báo cáo sự cố), bạn có thể kiểm tra dữ liệu bối cảnh sự cố và lọc theo khoá hoặc giá trị trong thanh bộ lọc ở trên cùng.

Phiên được liên kết với thiết bị
Thông tin xác thực phiên được liên kết với thiết bị (DBSC) là một Web API và một giao thức giữa các tác nhân người dùng và máy chủ nhằm ngăn chặn hành vi trộm cookie bằng cách cho phép tác nhân người dùng xác nhận quyền sở hữu khoá riêng tư được lưu trữ an toàn.
Cách xem các phiên được liên kết với thiết bị, định nghĩa và sự kiện của các phiên đó:
- Mở DevTools trên một trang sử dụng DBSC.
- Chuyển đến Application (Ứng dụng) > Background services (Dịch vụ nền) > Device bound sessions (Phiên được liên kết với thiết bị).
Trong thanh bên ở bên trái, hãy mở rộng một trang web để xem các phiên đang hoạt động của trang web đó. Chọn một phiên để xem định nghĩa của phiên đó.

Bảng Events (Sự kiện) ghi lại các sự kiện DBSC: tạo, làm mới, thử thách và chấm dứt. Để giữ danh sách sự kiện trên các lượt chuyển trang, hãy đánh dấu vào check_box Preserve log (Giữ nhật ký).
Trong bảng Events (Sự kiện), hãy chọn một sự kiện để xem thông tin chi tiết của sự kiện đó.
Nếu một sự kiện không thành công, bạn sẽ thấy thông báo
Errortrong cột Result (Kết quả). Chọn sự kiện không thành công để xem thông tin chi tiết, mã lỗi phản hồi và nguyên nhân không thành công.
Mục Device bound sessions (Phiên được liên kết với thiết bị) trong thanh bên có thể làm nổi bật các vấn đề sau:
- Terminated sessions (Phiên đã chấm dứt): Được biểu thị bằng một đường gạch ngang và biểu tượng database-off trong thanh bên.
- Failed events (Sự kiện không thành công): Được làm nổi bật bằng biểu tượng cảnh báo. Phần tử No session (Không có phiên) ghi lại các sự kiện không thành công được liên kết với một trang web nhưng không liên kết với phiên đã biết.