chrome.types

Nội dung mô tả

API chrome.types chứa các phần khai báo loại cho Chrome.

Cài đặt Chrome

Loại ChromeSetting cung cấp một tập hợp các hàm phổ biến (get(), set()clear()) cũng như một trình xuất bản 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 ba phạm vi của chế độ 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ửa sổ trình duyệt thông thường và sẽ kế thừa các cửa sổ ẩn danh nếu không bị ghi đè. Các chế độ cài đặt này được lưu trữ vào ổ đĩa và giữ nguyên cho đến khi bị tiện ích quản lý xoá hoặc tiện ích quản lý bị tắt hay gỡ cài đặt.
incognito_persistent
Các chế độ cài đặt được đặt trong phạm vi incognito_persistent chỉ áp dụng cho cửa sổ ẩn danh. Đối với những chế độ cài đặt này, chúng sẽ ghi đè các 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 bị tiện ích quản lý xoá, hoặc tiện ích quản lý bị tắt/gỡ cài đặt.
incognito_session_only
Các chế độ cài đặt được đặt trong phạm vi incognito_session_only chỉ áp dụng cho cửa sổ ẩn danh. Đối với những chế độ cài đặt này, chúng sẽ ghi đè các chế độ cài đặt regularincognito_persistent. Các chế độ cài đặt này không được lưu trữ vào ổ đĩa và sẽ bị xoá khi bạn đóng cửa sổ ẩn danh gần đây nhất. Bạn chỉ có thể đặt các khoá 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ý chế độ cài đặt trên các lớp khác nhau. Danh sách sau đây mô tả các lớp có thể ảnh hưởng đến các chế độ cài đặt hiệu quả, theo thứ tự ưu tiên tăng dầ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. Chế độ cài đặt do tiện ích cung cấp
  4. Chính sách

Giống như danh sách, các chính sách có thể thay thế mọi thay đổi mà bạn chỉ định bằng tiện ích của mình. Bạn có thể sử dụng hàm get() để xác định xem tiện ích 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 minh hoạ hành vi. Giả sử không có chính sách nào ghi đè chế độ cài đặt và một tiện ích có thể đặt chế độ cài đặt cho cửa sổ thông thường (R) và chế độ cài đặt cho 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 cho cả cửa sổ thông thường và cửa sổ ẩn danh.
  • Nếu bạn chỉ đặt (I), các chế độ cài đặt này chỉ có hiệu lực với cửa sổ ẩn danh. Cửa sổ thông thường sử dụng chế độ cài đặt được xác định bởi các lớp thấp hơn (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 chỉ đặt tiện ích được cài đặt gần đây nhất (I), thì chế độ cài đặt của các cửa sổ thông thường có thể được xác định bằng các tiện ích đã cài đặt trước đó.

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

Loại

ChromeSetting

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

Thuộc tính

  • onChange

    Sự kiện<functionvoid>

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

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

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

    • số gọi lại

      hàm

      Tham số callback sẽ 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 sẽ chỉ hiển thị nếu người dùng đã bật tiện ích ở chế độ ẩn danh.

        • levelOfControl

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

        • value

          T

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

  • xóa

    void

    Cam kết

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

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

    (details: object,callback?: function)=> {...}

    • chi tiết

      đối tượng

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

      • xác định phạm vi của thứ nguyên.

        ChromeSettingScope không bắt buộc

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

    • số gọi lại

      hàm không bắt buộc

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

      ()=>void

    • giá trị trả về

      Promise<void>

      Chrome 96 trở lên

      Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

  • get

    void

    Cam kết

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

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

    (details: object,callback?: function)=> {...}

    • chi tiết

      đối tượng

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

      • ẩn danh

        boolean không bắt buộc

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

    • số gọi lại

      hàm không bắt buộc

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

      (details: object)=>void

      • chi tiết

        đối tượng

        Thông tin chi tiết về giá trị hiện có hiệu lực.

        • incognitoSpecific

          boolean không bắt buộc

          Liệu giá trị hiệu quả có dành riêng cho phiên ẩn danh hay không. Thuộc tính này sẽ chỉ xuất hiện nếu thuộc tính incognito trong tham số details của get() là true.

        • levelOfControl

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

        • value

          T

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

    • giá trị trả về

      Promise<object>

      Chrome 96 trở lên

      Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

  • set

    void

    Cam kết

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

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

    (details: object,callback?: function)=> {...}

    • chi tiết

      đối tượng

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

      • xác định phạm vi của thứ nguyên.

        ChromeSettingScope không bắt buộc

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

      • value

        T

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

    • số gọi lại

      hàm không bắt buộc

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

      ()=>void

    • giá trị trả về

      Promise<void>

      Chrome 96 trở lên

      Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

ChromeSettingScope

Chrome 44 trở lên

Phạm vi của Cài đặt Chrome. Một trong số

  • 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ỉ cài đặt cho hồ sơ thông thường (không kế thừa bởi hồ sơ ẩn danh),
  • incognito\_persistent: chế độ cài đặt cho hồ sơ ẩn danh 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 của hồ sơ ẩn danh chỉ có thể đặt được trong phiên ẩn danh và sẽ bị xoá khi phiên ẩn danh kết thúc (sẽ ghi đè các lựa chọn ưu tiên thông thường và unique_persistent).

Liệt kê

"regular"

"regular_only"

LevelOfControl

Chrome 44 trở lên

Một trong số

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

Liệt kê

"not_controllable"

"controllable_by_this_extension"