Ghi đè trang Chrome

Tiện ích có thể sử dụng trang ghi đè HTML để thay thế trang mà Google Chrome thường cung cấp. Mỗi tiện ích có thể chứa nội dung ghi đè cho bất kỳ trang nào sau đây, nhưng mỗi tiện ích chỉ có thể ghi đè một trang:

Trình quản lý dấu trang
Trang xuất hiện khi người dùng chọn mục trong trình đơn Trình quản lý dấu trang từ trình đơn Chrome hoặc trên máy Mac, mục Trình quản lý dấu trang từ trình đơn Dấu trang. Bạn cũng có thể truy cập vào trang này bằng cách nhập URL chrome://bookmarks.
Cập nhật trước đây
Trang xuất hiện khi người dùng chọn mục trong trình đơn Lịch sử trên Chrome hoặc trên máy Mac, mục Hiển thị Toàn bộ Lịch sử từ trình đơn Lịch sử. Bạn cũng có thể truy cập vào trang này bằng cách nhập URL chrome://history.
Thẻ mới
Trang xuất hiện khi người dùng tạo thẻ hoặc cửa sổ mới. Bạn cũng có thể truy cập vào trang này bằng cách nhập URL chrome://newtab.

Các ảnh chụp màn hình sau đây hiển thị trang Thẻ mới mặc định rồi đến trang Thẻ mới tuỳ chỉnh.

Trang thẻ mới mặc định
Trang thẻ mới mặc định.
Trang thẻ mới tuỳ chỉnh
Một trang thẻ mới tuỳ chỉnh.

Để thử thực hiện việc này, hãy xem phần ghi đè mẫu của chúng tôi.

Cách hoạt động của cửa sổ ẩn danh

Trong cửa sổ ẩn danh, tiện ích không thể ghi đè các trang Thẻ mới. Các trang khác vẫn hoạt động nếu thuộc tính tệp kê khai ẩn danh là đặt thành "spanning" (giá trị mặc định). Để biết chi tiết về cách xử lý cửa sổ ẩn danh, hãy xem bài viết Lưu dữ liệu và chế độ ẩn danh.

Tệp kê khai

Dùng đoạn mã sau để đăng ký một trang ghi đè trong tệp kê khai tiện ích:

{
  "manifest_version": 3,
  "name": "My extension",
  ...

  "chrome_url_overrides" : {
    "PAGE_TO_OVERRIDE": "myPage.html"
  },
  ...
}

Đối với PAGE_TO_OVERRIDE, hãy thay thế một trong các tham số sau:

  • "bookmarks"
  • "history"
  • "newtab"

Các phương pháp hay nhất

  • Tạo nhanh và nhỏ cho trang của bạn.
    Người dùng muốn các trang trình duyệt tích hợp sẵn sẽ mở ngay lập tức. Tránh làm những việc có thể mất nhiều thời gian bất cứ lúc nào. Cụ thể, tránh truy cập đồng bộ vào các tài nguyên cơ sở dữ liệu. Khi đưa ra yêu cầu mạng, hãy ưu tiên fetch() hơn XMLHttpRequest().

  • Để tránh gây nhầm lẫn cho người dùng, hãy đặt tiêu đề cho trang của bạn.
    Khi không có tiêu đề, tiêu đề trang sẽ được đặt mặc định thành URL. Hãy chỉ định tiêu đề bằng thẻ <title> trong tệp HTML.

  • Xin lưu ý rằng trước tiên, các thẻ mới sẽ đưa tiêu điểm vào thanh địa chỉ bằng bàn phím.
    Đừng dựa vào chế độ đặt tiêu điểm bằng bàn phím mặc định là các phần khác của trang.

  • Tự thiết lập trang thẻ mới.
    Tránh tạo trang thẻ mới khiến người dùng nhầm lẫn với trang thẻ mới mặc định của Chrome.

Ví dụ

Xem phần ghi đè mẫu.