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. Tiện ích có thể chứa 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 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 trong trình đơn Nhật ký từ trình đơn Chrome hoặc mục Hiển thị toàn bộ nhật ký trên 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.
Tab 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 trang này bằng cách nhập URL chrome://newtab.

Các ảnh chụp màn hình sau đây cho thấy 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ử làm điều 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, 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 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 mã sau đây để đă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 nội dung sau:

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

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

  • Đảm bảo tốc độ nhanh và kích thước trang nhỏ.
    Người dùng mong muốn các trang trình duyệt tích hợp sẵn sẽ mở ngay lập tức. Tránh thực hiện những việc có thể mất nhiều thời gian. Cụ thể là bạn nên 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 làm người dùng nhầm lẫn, hãy đặt tiêu đề cho trang của bạn.
    Nếu không có tiêu đề, tiêu đề trang sẽ mặc định là URL. Hãy chỉ định tiêu đề bằng thẻ <title> trong tệp HTML.

  • Hãy nhớ rằng trước tiên, các thẻ mới sẽ chuyển tiêu điểm bàn phím đến thanh địa chỉ.
    Đừng phụ thuộc vào tiêu điểm bằng bàn phím được đặt mặc định cho các phần khác trên trang.

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

Ví dụ

Xem mẫu ghi đè.