Ghi đè trang Chrome

Tiện ích có thể sử dụng các trang ghi đè HTML để thay thế trang mà Google Chrome thường cung cấp. Một tiện ích có thể chứa một chế độ 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 trình đơn Trình quản lý dấu trang trong trình đơn Chrome hoặc trên máy Mac, mục Trình quản lý dấu trang trong 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 Nhật ký trong trình đơn Chrome hoặc mục Hiện nhật ký đầy đủ trong trình đơn Nhật ký trên máy Mac. 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 một 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.

Ảnh chụp màn hình sau đây cho thấy trang Thẻ mới mặc định, sau đó là 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ử tính năng này, hãy xem các mẫu ghi đè của chúng tôi.

Hành vi của cửa sổ ẩn danh

Trong cửa sổ ẩn danh, các 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 được đặt thành "spanning" (giá trị mặc định). Để biết thông tin chi tiết về cách xử lý cửa sổ ẩn danh, hãy xem phần Lưu dữ liệu và chế độ ẩn danh.

Tệp kê khai

Sử dụng mã sau để đăng ký 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ế bằng một trong những giá trị sau:

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

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

  • Tăng tốc độ và giảm kích thước trang.
    Người dùng mong muốn các trang trình duyệt tích hợp sẵn sẽ mở ra ngay lập tức. Tránh làm những việc có thể mất nhiều thời gian. Cụ thể, hãy tránh truy cập đồng bộ vào tài nguyên cơ sở dữ liệu. Khi gửi 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.
    Nếu không có tiêu đề, tiêu đề trang sẽ mặc định là URL. Chỉ định tiêu đề bằng thẻ <title> trong tệp HTML.

  • Hãy nhớ rằng các thẻ mới sẽ đặt tiêu điểm bàn phím vào thanh địa chỉ trước tiên.
    Không dựa vào tiêu điểm bàn phím mặc định cho các phần khác của trang.

  • Tạo trang thẻ mới theo ý bạn.
    Tránh tạo trang thẻ mới mà người dùng có thể nhầm lẫn với trang thẻ mới mặc định của Chrome.

Ví dụ

Xem các mẫu ghi đè.