chrome.types

Mô tả

API chrome.types chứa các khai báo kiểu cho Chrome.

Cài đặt Chrome

Loại ChromeSetting cung cấp một bộ hàm chung (get(), set()clear()) cũng như một trình phát sự kiện (onChange) cho các chế độ cài đặt của trình duyệt Chrome. Ví dụ về chế độ cài đặt proxy minh hoạ cách sử dụng các hàm này.

Phạm vi và vòng đời

Chrome phân biệt 3 phạm vi cài đặt trình duyệt:

regular
Các chế độ cài đặt được đặt trong phạm vi regular sẽ áp dụng cho các cửa sổ trình duyệt thông thường và được các cửa sổ ẩn danh kế thừa nếu không bị ghi đè. Các chế độ cài đặt này được lưu trữ vào ổ đĩa và vẫn được giữ nguyên cho đến khi tiện ích chi phối xoá chúng hoặc tiện ích chi phối bị tắt hoặc gỡ cài đặt.
incognito_persistent
Các chế độ cài đặt được thiết lập trong phạm vi incognito_persistent chỉ áp dụng cho các cửa sổ ẩn danh. Đối với những chế độ cài đặt này, chúng sẽ ghi đè chế độ cài đặt regular. Các chế độ cài đặt này được lưu trữ vào đĩa và vẫn giữ nguyên cho đến khi tiện ích chi phối xoá chúng hoặc tiện ích chi phối bị tắt hoặc gỡ cài đặt.
incognito_session_only
Các chế độ cài đặt được thiết lập trong phạm vi incognito_session_only chỉ áp dụng cho các cửa sổ ẩn danh. Đối với những chế độ cài đặt này, chúng sẽ ghi đè chế độ cài đặt regularincognito_persistent. Các chế độ cài đặt này không được lưu trữ trên ổ đĩa và sẽ bị xoá khi cửa sổ ẩn danh cuối cùng đóng. Bạn chỉ có thể đặt các chế độ này khi có ít nhất một cửa sổ ẩn danh đang mở.

Quyền ưu tiên

Chrome quản lý các chế độ cài đặt trên nhiều lớp. Danh sách sau đây mô tả các lớp có thể ảnh hưởng đến chế độ cài đặt hiệu quả, theo thứ tự tăng dần về mức độ ưu tiên.

  1. Chế độ cài đặt hệ thống do hệ điều hành cung cấp
  2. Tham số dòng lệnh
  3. Các chế độ cài đặt do tiện ích cung cấp
  4. Chính sách

Như danh sách này cho thấy, các chính sách có thể thay thế mọi thay đổi mà bạn chỉ định bằng tiện ích. Bạn có thể dùng hàm get() để xác định xem tiện ích của bạn có thể cung cấp một chế độ cài đặt hay không hoặc liệu chế độ cài đặt này có bị ghi đè hay không.

Như đã thảo luận trước đó, Chrome cho phép sử dụng các chế độ cài đặt khác nhau cho cửa sổ thông thường và cửa sổ ẩn danh. Ví dụ sau đây minh hoạ hành vi này. Giả sử không có chính sách nào ghi đè các chế độ cài đặt và một tiện ích có thể đặt chế độ cài đặt cho các cửa sổ thông thường (R) và chế độ cài đặt cho các cửa sổ ẩn danh (I).

  • Nếu bạn chỉ đặt (R), thì các chế độ cài đặt này sẽ có hiệu lực đối với cả cửa sổ thông thường và cửa sổ ẩn danh.
  • Nếu bạn chỉ đặt (I), thì các chế độ cài đặt này chỉ có hiệu lực đối với các cửa sổ ẩn danh. Các cửa sổ thông thường sử dụng chế độ cài đặt do các lớp dưới xác định (tuỳ chọn dòng lệnh và chế độ cài đặt hệ thống).
  • Nếu bạn đặt cả (R)(I), thì các chế độ cài đặt tương ứng sẽ được dùng cho cửa sổ thông thường và cửa sổ ẩn danh.

Nếu hai hoặc nhiều tiện ích muốn đặt cùng một chế độ cài đặt thành các giá trị khác nhau, thì tiện ích được cài đặt gần đây nhất sẽ được ưu tiên hơn các tiện ích khác. Nếu tiện ích được cài đặt gần đây nhất chỉ đặt (I), thì các tiện ích đã cài đặt trước đó có thể xác định chế độ cài đặt của các cửa sổ thông thường.

Giá trị hiệu quả của một chế độ cài đặt là giá trị thu được sau khi xem xét các quy tắc về quyền ưu tiên. Chrome sử dụng công cụ này.

Loại

ChromeSetting

Một giao diện cho phép truy cập vào chế độ cài đặt trình duyệt Chrome. Hãy xem accessibilityFeatures để biết ví dụ.

Thuộc tính

  • onChange

    Event<functionvoidvoid>

    Được kích hoạt sau khi chế độ cài đặt thay đổi.

    Hàm onChange.addListener có dạng như sau:

    (callback: function) => {...}

    • callback

      hàm

      Tham số callback có dạng như sau:

      (details: object) => void

      • chi tiết

        đối tượng

        • incognitoSpecific

          boolean không bắt buộc

          Liệu giá trị đã thay đổi có dành riêng cho phiên ẩn danh hay không. Thuộc tính này chỉ xuất hiện nếu người dùng đã bật tiện ích ở chế độ ẩn danh.

        • levelOfControl

          Mức độ kiểm soát của chế độ cài đặt.

        • value

          T

          Giá trị của chế độ cài đặt sau khi thay đổi.

  • xóa

    void

    Xoá chế độ cài đặt, khôi phục mọi giá trị mặc định.

    Hàm clear có dạng như sau:

    (details: object) => {...}

    • chi tiết

      đối tượng

      Chế độ cài đặt cần xoá.

      • phạm vi

        ChromeSettingScope không bắt buộc

        Nơi xoá chế độ cài đặt (mặc định: thông thường).

    • returns

      Promise<void>

      Chrome 96 trở lên
  • get

    void

    Lấy giá trị của một chế độ cài đặt.

    Hàm get có dạng như sau:

    (details: object) => {...}

    • chi tiết

      đối tượng

      Chế độ cài đặt cần cân nhắc.

      • ẩn danh

        boolean không bắt buộc

        Có trả về giá trị áp dụng cho phiên ẩn danh hay không (mặc định là false).

    • returns

      Promise<object>

      Chrome 96 trở lên
  • đặt

    void

    Đặt giá trị của một chế độ cài đặt.

    Hàm set có dạng như sau:

    (details: object) => {...}

    • chi tiết

      đối tượng

      Chế độ cài đặt cần thay đổi.

      • phạm vi

        ChromeSettingScope không bắt buộc

        Nơi đặt chế độ cài đặt (mặc định: regular).

      • value

        T

        Giá trị của chế độ cài đặt. Xin lưu ý rằng mỗi chế độ cài đặt đều có một loại giá trị cụ thể, được mô tả cùng với chế độ cài đặt. Tiện ích không được đặt giá trị thuộc một loại khác.

    • returns

      Promise<void>

      Chrome 96 trở lên

ChromeSettingScope

Chrome 44 trở lên

Phạm vi của ChromeSetting. Một trong

  • regular: chế độ cài đặt cho hồ sơ thông thường (được hồ sơ ẩn danh kế thừa nếu không bị ghi đè ở nơi khác),
  • regular\_only: chỉ áp dụng cho hồ sơ thông thường (hồ sơ ẩn danh không kế thừa chế độ cài đặt này),
  • incognito\_persistent: chế độ cài đặt cho hồ sơ ẩn danh vẫn tồn tại sau khi trình duyệt khởi động lại (ghi đè các lựa chọn ưu tiên thông thường),
  • incognito\_session\_only: chế độ cài đặt cho hồ sơ ẩn danh chỉ có thể được đặt trong phiên ẩn danh và sẽ bị xoá khi phiên ẩn danh kết thúc (ghi đè các lựa chọn ưu tiên thông thường và incognito_persistent).

Enum

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 trở lên

Một trong

  • not\_controllable: không thể được kiểm soát bởi bất kỳ tiện ích nào
  • controlled\_by\_other\_extensions: do các tiện ích có mức độ ưu tiên cao hơn kiểm soát
  • controllable\_by\_this\_extension: có thể được tiện ích này kiểm soát
  • controlled\_by\_this\_extension: do tiện ích này kiểm soát

Enum

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"