chrome.types

설명

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

크롬 설정

ChromeSetting 유형은 Chrome 브라우저 설정을 위한 일반적인 함수 집합 (get(), set(), clear())과 이벤트 게시자 (onChange)를 제공합니다. 프록시 설정 예는 이러한 함수의 용도를 보여줍니다.

범위 및 수명 주기

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

    이벤트<functionvoid>

    설정이 변경된 후 실행됩니다.

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

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

    • 콜백

      기능

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

      (details: object)=>void

      • 세부정보

        객체

        • incognitoSpecific

          부울 선택사항

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

        • levelOfControl

          설정의 제어 수준입니다.

        • T

          변경 후의 설정 값입니다.

  • 삭제

    void

    프로미스

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

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

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

    • 세부정보

      객체

      삭제할 설정

    • 콜백

      함수 선택사항

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

      ()=>void

    • returns

      Promise<void>

      Chrome 96 이상

      프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

  • get

    void

    프로미스

    설정 값을 가져옵니다.

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

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

    • 세부정보

      객체

      고려할 설정입니다.

      • 시크릿 모드

        부울 선택사항

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

    • 콜백

      함수 선택사항

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

      (details: object)=>void

      • 세부정보

        객체

        현재 유효한 값의 세부정보입니다.

        • incognitoSpecific

          부울 선택사항

          유효 값이 시크릿 세션에만 적용되는지 여부입니다. 이 속성은 get()details 매개변수에 있는 incognito 속성이 true인 경우에만 존재합니다.

        • levelOfControl

          설정의 제어 수준입니다.

        • T

          설정의 값입니다.

    • returns

      Promise<object>

      Chrome 96 이상

      프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

  • set

    void

    프로미스

    설정 값을 설정합니다.

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

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

    • 세부정보

      객체

      변경할 설정

      • 범위

        ChromeSettingScope 선택사항

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

      • T

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

    • 콜백

      함수 선택사항

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

      ()=>void

    • returns

      Promise<void>

      Chrome 96 이상

      프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

ChromeSettingScope

Chrome 44 이상

ChromeSetting의 범위입니다. 다음 중 하나

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

열거형

LevelOfControl

Chrome 44 이상

다음 중 하나

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

열거형

"not_controllable"

"controllable_by_this_extension"