chrome.types

설명

chrome.types API에는 Chrome의 유형 선언이 포함되어 있습니다.

크롬 설정

ChromeSetting 유형은 Chrome 브라우저 설정에 관한 이벤트 게시자 (onChange)뿐만 아니라 일반적인 함수 집합 (get(), set(), clear())을 제공합니다. 프록시 설정 예시에서는 이러한 함수를 사용하는 방법을 보여줍니다.

범위 및 수명 주기

Chrome은 다음과 같은 세 가지 범위의 브라우저 설정을 구분합니다.

regular
regular 범위에서 설정된
설정은 일반 브라우저 창에 적용되며 덮어쓰지 않으면 시크릿 창에서 상속됩니다. 이러한 설정은 디스크에 저장되며 관리 확장 프로그램에서 삭제하거나 관리 확장 프로그램을 사용 중지하거나 제거할 때까지 그대로 유지됩니다.
incognito_persistent
incognito_persistent 범위에서 설정된
설정은 시크릿 모드 창에만 적용됩니다. 이러한 경우 regular 설정을 재정의합니다. 이러한 설정은 디스크에 저장되며 관리 확장 프로그램에서 지우거나 관리 확장 프로그램을 사용 중지 또는 제거할 때까지 그대로 유지됩니다.
incognito_session_only
incognito_session_only 범위에서 설정된
설정은 시크릿 모드 창에만 적용됩니다. 이러한 경우 regularincognito_persistent 설정이 재정의됩니다. 이러한 설정은 디스크에 저장되지 않으며 마지막 시크릿 창이 닫히면 삭제됩니다. 이러한 설정은 하나 이상의 시크릿 창이 열려 있을 때만 설정할 수 있습니다.

우선 적용

Chrome은 여러 레이어에서 설정을 관리합니다. 다음 목록에서는 우선순위가 높아지는 순서대로 유효 설정에 영향을 미칠 수 있는 레이어를 설명합니다.

  1. 운영체제에서 제공하는 시스템 설정
  2. 명령줄 매개변수
  3. 확장 프로그램에서 제공하는 설정
  4. 정책

목록에서 알 수 있듯이 정책은 확장 프로그램으로 지정한 변경사항을 무시할 수 있습니다. get() 함수를 사용하여 확장 프로그램이 설정을 제공할 수 있는지 또는 이 설정이 재정의되는지 확인할 수 있습니다.

앞서 설명한 것처럼 Chrome에서는 일반 창과 시크릿 창에 서로 다른 설정을 사용할 수 있습니다. 다음 예는 이 동작을 보여줍니다. 정책이 설정을 재정의하지 않고 확장 프로그램이 일반 창 (R)의 설정과 시크릿 창 (I)의 설정을 설정할 수 있다고 가정합니다.

  • (R)만 설정된 경우 이러한 설정은 일반 창과 시크릿 창 모두에 적용됩니다.
  • (I)만 설정된 경우 이 설정은 시크릿 창에만 적용됩니다. 일반 창은 하위 레이어 (명령줄 옵션 및 시스템 설정)에 의해 결정된 설정을 사용합니다.
  • (R)(I)가 모두 설정된 경우 일반 창과 시크릿 창에 각각의 설정이 사용됩니다.

두 개 이상의 확장 프로그램이 동일한 설정을 서로 다른 값으로 설정하려고 하면 가장 최근에 설치된 확장 프로그램이 다른 확장 프로그램보다 우선합니다. 가장 최근에 설치된 확장 프로그램이 (I)만 설정하는 경우 일반 창의 설정은 이전에 설치된 확장 프로그램에 의해 정의될 수 있습니다.

설정의 유효 값은 우선순위 규칙을 고려하여 결정됩니다. Chrome에서 사용됩니다.

유형

ChromeSetting

Chrome 브라우저 설정에 액세스할 수 있는 인터페이스 예는 accessibilityFeatures를 참고하세요.

속성

  • onChange

    Event<functionvoidvoid>

    설정이 변경된 후에 발생합니다.

    onChange.addListener 함수는 다음과 같습니다.

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

    • callback

      함수

      callback 매개변수는 다음과 같습니다.

      (details: object) => void

      • 세부정보

        객체

        • incognitoSpecific

          불리언 선택사항

          변경된 값이 시크릿 모드 세션에만 적용되는지 여부입니다. 이 속성은 사용자가 시크릿 모드에서 확장 프로그램을 사용 설정한 경우에만 표시됩니다.

        • levelOfControl

          설정의 제어 수준입니다.

        • T

          변경 후 설정의 값입니다.

  • 지우기

    void

    설정을 지우고 기본값을 복원합니다.

    clear 함수는 다음과 같습니다.

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

    • 세부정보

      객체

      삭제할 설정입니다.

      • 범위

        ChromeSettingScope 선택사항

        설정을 지울 위치입니다 (기본값: regular).

    • returns

      Promise<void>

      Chrome 96 이상
  • get

    void

    설정 값을 가져옵니다.

    get 함수는 다음과 같습니다.

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

    • 세부정보

      객체

      고려할 설정입니다.

      • 시크릿 모드

        불리언 선택사항

        시크릿 세션에 적용되는 값을 반환할지 여부입니다 (기본값은 false).

    • returns

      Promise<object>

      Chrome 96 이상
  • set

    void

    설정 값을 설정합니다.

    set 함수는 다음과 같습니다.

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

    • 세부정보

      객체

      변경할 설정입니다.

      • 범위

        ChromeSettingScope 선택사항

        설정을 설정할 위치입니다 (기본값: regular).

      • T

        설정 값입니다. 모든 설정에는 특정 값 유형이 있으며, 이는 설정과 함께 설명되어 있습니다. 확장 프로그램은 다른 유형의 값을 설정하면 안 됩니다.

    • returns

      Promise<void>

      Chrome 96 이상

ChromeSettingScope

Chrome 44 이상

ChromeSetting의 범위입니다. 1개

  • regular: 일반 프로필 설정 (다른 곳에서 재정의되지 않은 경우 시크릿 프로필에서 상속됨)
  • regular\_only: 일반 프로필 전용 설정 (시크릿 모드 프로필에서 상속되지 않음)
  • incognito\_persistent: 브라우저 다시 시작 후에도 유지되는 시크릿 모드 프로필 설정 (일반 환경설정 재정의)
  • incognito\_session\_only: 시크릿 모드 세션 중에만 설정할 수 있고 시크릿 모드 세션이 종료되면 삭제되는 시크릿 모드 프로필 설정입니다 (일반 및 incognito_persistent 환경설정을 재정의함).

열거형

'regular'

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 이상

1개

  • not\_controllable: 확장 프로그램으로 제어할 수 없음
  • controlled\_by\_other\_extensions: 우선순위가 높은 확장 프로그램에 의해 제어됨
  • controllable\_by\_this\_extension: 이 확장 프로그램으로 제어할 수 있음
  • controlled\_by\_this\_extension: 이 확장 프로그램에 의해 제어됨

열거형

'not_controllable'

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"