chrome.contentSettings

설명

chrome.contentSettings API를 사용하여 웹사이트에서 쿠키, JavaScript, 플러그인과 같은 기능을 사용할 수 있는지 여부를 제어하는 설정을 변경하세요. 일반적으로 콘텐츠 설정을 사용하면 Chrome의 동작을 전역이 아닌 사이트별로 맞춤설정할 수 있습니다.

권한

contentSettings

API를 사용하려면 확장 프로그램의 매니페스트에서 "contentSettings" 권한을 선언해야 합니다. 예를 들면 다음과 같습니다.

{
  "name": "My extension",
  ...
  "permissions": [
    "contentSettings"
  ],
  ...
}

개념 및 사용법

콘텐츠 설정 패턴

패턴을 사용하여 각 콘텐츠 설정이 영향을 주는 웹사이트를 지정할 수 있습니다. 예를 들어 https://*.youtube.com/*는 youtube.com 및 모든 하위 도메인을 지정합니다. 콘텐츠 구문 설정 패턴은 일치 패턴과 동일하지만 몇 가지 차이점이 있습니다.

  • http, https, ftp URL의 경우 경로는 와일드 카드 (/*)여야 합니다. file URL의 경우 경로 전체가 지정되어야 하며 와일드 카드를 포함해서는 안 됩니다.
  • 일치 패턴과 달리 콘텐츠 설정 패턴은 포트 번호를 지정할 수 있습니다. 포트가 해당 포트가 있는 웹사이트만 패턴을 찾습니다. 포트 번호가 없는 경우 패턴은 모든 포트와 일치합니다.

패턴 우선순위

한 사이트에 둘 이상의 콘텐츠 설정 규칙이 적용되는 경우 패턴이 우선 적용됩니다

예를 들어 다음 패턴은 우선순위에 따라 정렬됩니다.

  1. https://www.example.com/*
  2. https://*.example.com/* (example.com 및 모든 하위 도메인과 일치)
  3. <all_urls> (모든 URL과 일치)

세 가지 종류의 와일드 카드는 패턴의 구체적 정도에 영향을 미칩니다.

  • 포트의 와일드 카드 (예: https://www.example.com:*/*)
  • 스키마의 와일드 카드 (예: *://www.example.com:123/*)
  • 호스트 이름의 와일드 카드 (예: https://*.example.com:123/*)

패턴이 한 부분에서는 다른 패턴보다 더 구체적이지만 다른 부분에서는 덜 구체적인 경우 호스트 이름, 스키마, 포트의 순서로 서로 다른 부분을 확인합니다. 예를 들어 다음 패턴은 우선순위에 따라 정렬됩니다.

  1. https://www.example.com:*/* 호스트 이름과 스키마를 지정합니다.
  2. *:/www.example.com:123/* 그다지 높지 않습니다. 호스트 이름을 지정하지만 스키마를 지정하지 않기 때문입니다.
  3. https://*.example.com:123/* 포트와 스키마를 지정하지만 호스트 이름에 와일드 카드를 사용하기 때문에 상대적으로 낮습니다.

기본 및 보조 패턴

적용할 콘텐츠 설정을 결정할 때 고려되는 URL은 콘텐츠 유형에 따라 다릅니다. 예를 들어 contentSettings.notifications의 경우 설정은 검색주소창을 탭합니다. 이 URL을 '기본' URL이라고 합니다. URL입니다.

일부 콘텐츠 유형은 추가 URL을 고려할 수 있습니다. 예를 들어 사이트에서 contentSettings.cookies 설정은 HTTP 요청의 URL( 이 경우 기본 URL)과 검색주소창에 표시되는 URL('보조'라고 함) URL)을 입력합니다.

여러 규칙에 기본 및 보조 패턴이 있으면 더 구체적인 기본 패턴이 있는 규칙 패턴이 우선 적용됩니다 여러 규칙이 동일한 기본 패턴을 갖는 경우 더 구체적인 보조 패턴이 우선 적용됩니다 예를 들어 기본/보조 패턴 쌍은 우선순위에 따라 정렬됩니다.

우선 적용기본 패턴보조 패턴
1https://www.moose.com/*https://www.wombat.com/*
2https://www.moose.com/*<all_urls>
3<all_urls>https://www.wombat.com/*
4<all_urls><all_urls>

리소스 식별자

리소스 식별자를 사용하면 콘텐츠 유형의 특정 하위유형에 대한 콘텐츠 설정을 지정할 수 있습니다. 현재 리소스 식별자를 지원하는 유일한 콘텐츠 유형은 contentSettings.plugins입니다. 여기에서 리소스 식별자는 특정 플러그인을 식별합니다. 콘텐츠 설정을 적용할 때 먼저 확인할 수 있습니다 특정 항목에 대한 설정을 찾을 수 없는 경우 플러그인에서는 플러그인의 일반 콘텐츠 설정을 확인합니다.

예를 들어 콘텐츠 설정 규칙에 리소스 식별자 adobe-flash-player가 있고 <all_urls> 패턴이 없으면 리소스 식별자와 패턴이 없는 규칙보다 우선합니다. https://www.example.com/*로 설정합니다.

다음을 호출하여 콘텐츠 유형의 리소스 식별자 목록을 가져올 수 있습니다. contentSettings.ContentSetting.getResourceIdentifiers() 메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다. 반환된 목록은 사용자 컴퓨터에 설치된 플러그인 집합은 모두 차단하지만 Chrome은 식별자를 안정적으로 유지하려고 합니다. 지속적으로 테스트할 수 있습니다.

이 API를 사용하려면 chrome-extension-samples에서 contentSettings API 예시를 설치하세요. 저장소

유형

AutoVerifyContentSetting

Chrome 113 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

CameraContentSetting

Chrome 46 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

"ask"

ClipboardContentSetting

Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

"ask"

ContentSetting

속성

  • 지우기

    void

    <ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.

    이 확장 프로그램에서 설정한 모든 콘텐츠 설정 규칙을 삭제합니다.

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

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

    • 세부정보

      객체

      • 범위

        범위 (선택사항)

        설정을 삭제할 위치 (기본값: 일반)

    • 콜백

      함수 선택사항

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

      () => void

    • returns

      프로미스<void>

      Chrome 96 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

  • get

    void

    <ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.

    지정된 URL 쌍의 현재 콘텐츠 설정을 가져옵니다.

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

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

    • 세부정보

      객체

      • 시크릿 모드

        불리언 선택사항

        시크릿 세션의 콘텐츠 설정을 확인할지 여부입니다. (기본값 false)

      • primaryUrl

        문자열

        콘텐츠 설정을 가져올 기본 URL입니다. 기본 URL의 의미는 콘텐츠 유형에 따라 다릅니다.

      • resourceIdentifier

        ResourceIdentifier 선택사항

        설정을 가져와야 하는 콘텐츠 유형의 더 구체적인 식별자입니다.

      • secondaryUrl

        문자열(선택사항)

        콘텐츠 설정을 가져올 보조 URL입니다. 기본값은 기본 URL입니다. 보조 URL의 의미는 콘텐츠 유형에 따라 다르며, 모든 콘텐츠 유형에 보조 URL을 사용하는 것은 아닙니다.

    • 콜백

      함수 선택사항

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

      (details: object) => void

      • 세부정보

        객체

        • 설정

          T

          콘텐츠 설정입니다. 가능한 값은 개별 ContentSetting 객체에 대한 설명을 참조하세요.

    • returns

      Promise&lt;object&gt;

      Chrome 96 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

  • getResourceIdentifiers

    void

    <ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

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

    • 콜백

      함수 선택사항

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

      (resourceIdentifiers?: ResourceIdentifier[]) => void

      • resourceIdentifiers

        ResourceIdentifier[] 선택사항

        이 콘텐츠 유형의 리소스 식별자 목록 또는 undefined(이 콘텐츠 유형이 리소스 식별자를 사용하지 않는 경우)

    • returns

      프로미스<ResourceIdentifier[]>

      Chrome 96 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

  • set

    void

    <ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.

    새 콘텐츠 설정 규칙을 적용합니다.

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

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

    • 세부정보

      객체

      • primaryPattern

        문자열

        기본 URL의 패턴입니다. 패턴 형식에 관한 자세한 내용은 콘텐츠 설정 패턴을 참고하세요.

      • resourceIdentifier

        ResourceIdentifier 선택사항

        콘텐츠 유형의 리소스 식별자입니다.

      • 범위

        범위 (선택사항)

        설정을 지정할 위치 (기본값: 일반)

      • secondaryPattern

        문자열(선택사항)

        보조 URL의 패턴입니다. 기본값은 일치하는 모든 URL입니다. 패턴 형식에 관한 자세한 내용은 콘텐츠 설정 패턴을 참고하세요.

      • 설정

        모두

        이 규칙에 의해 적용되는 설정입니다. 가능한 값은 개별 ContentSetting 객체에 대한 설명을 참조하세요.

    • 콜백

      함수 선택사항

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

      () => void

    • returns

      프로미스<void>

      Chrome 96 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

CookiesContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

&quot;session_only&quot;

FullscreenContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

"허용"

ImagesContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

JavascriptContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

LocationContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

"ask"

MicrophoneContentSetting

Chrome 46 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

"ask"

MouselockContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

"허용"

MultipleAutomaticDownloadsContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

"ask"

NotificationsContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

"ask"

PluginsContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

"차단"

PopupsContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

"허용"

"차단"

PpapiBrokerContentSetting

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

"차단"

ResourceIdentifier

리소스 식별자를 사용하는 유일한 콘텐츠 유형은 contentSettings.plugins입니다. 자세한 내용은 리소스 식별자를 참고하세요.

속성

  • 설명

    문자열(선택사항)

    사람이 읽을 수 있는 리소스 설명입니다.

  • id

    문자열

    지정된 콘텐츠 유형의 리소스 식별자입니다.

Scope

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

ContentSetting의 범위입니다. 다음 중 하나 regular: 일반 프로필의 설정입니다 (다른 곳에서 재정의되지 않은 경우 시크릿 프로필에 의해 상속됨). incognito\_session\_only: 시크릿 세션 중에만 설정할 수 있고 시크릿 세션이 종료되면 삭제되는 시크릿 프로필용 설정입니다 (일반 설정 재정의).

열거형

'일반'

'Incognito_session_only'

속성

automaticDownloads

사이트에서 여러 파일을 자동으로 다운로드하도록 허용할지 여부입니다. 다음 중 하나 allow: 사이트에서 여러 파일을 자동으로 다운로드하도록 허용합니다. block: 사이트에서 여러 파일을 자동으로 다운로드하도록 허용하지 않음 ask: 사이트에서 첫 번째 파일 실행 후 자동으로 파일을 다운로드하려고 할 때 확인합니다. 기본값은 ask입니다. 기본 URL은 최상위 프레임의 URL입니다. 보조 URL은 사용되지 않습니다.

autoVerify

Chrome 113 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

사이트에서 Private State Tokens API를 사용하도록 허용할지 여부입니다. 다음 중 하나 allow: 사이트에서 Private State Tokens API를 사용하도록 허용 block: 사이트에서 Private State Tokens API를 사용하지 못하도록 차단합니다. 기본값은 allow입니다. 기본 URL은 최상위 프레임의 URL입니다. 보조 URL은 사용되지 않습니다. 참고: set()를 호출할 때 기본 패턴은 이어야 합니다 .

camera

Chrome 46 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

사이트의 카메라 액세스 허용 여부입니다. 다음 중 하나 allow: 사이트가 카메라에 액세스하도록 허용 block: 사이트에서 카메라에 액세스하는 것을 허용하지 않습니다. ask: 사이트에서 카메라에 액세스하려고 할 때 확인 기본값은 ask입니다. 기본 URL은 카메라 액세스를 요청한 문서의 URL입니다. 보조 URL은 사용되지 않습니다. 참고: 두 패턴이 모두 ''인 경우 설정이 유효하지 않습니다.

clipboard

Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

사이트에서 Async Clipboard API의 고급 기능을 통해 클립보드에 액세스하도록 허용할지 여부입니다. "고급" 기능에는 사용자 동작 후 기본 제공 형식을 작성하는 것 외에 모든 기능(예: 읽기 기능, 맞춤 형식 작성 기능, 사용자 동작 없이 쓰는 기능)이 포함됩니다. 다음 중 하나 allow: 사이트에서 고급 클립보드 기능을 사용하도록 허용 block: 사이트에서 고급 클립보드 기능을 사용하도록 허용하지 않음 ask: 사이트에서 고급 클립보드 기능을 사용하려고 할 때 확인합니다. 기본값은 ask입니다. 기본 URL은 클립보드 액세스를 요청한 문서의 URL입니다. 보조 URL은 사용되지 않습니다.

cookies

웹사이트에서 쿠키 및 기타 로컬 데이터를 설정하도록 허용할지 여부입니다. 다음 중 하나 allow: 쿠키 허용, block: 쿠키 차단, session\_only: 현재 세션에 대해서만 쿠키를 허용합니다. 기본값은 allow입니다. 기본 URL은 쿠키 출처를 나타내는 URL입니다. 보조 URL은 최상위 프레임의 URL입니다.

fullscreen

지원 중단되었습니다. 더 이상 아무런 효과가 없습니다. 이제 모든 사이트에 전체 화면 권한이 자동으로 부여됩니다. 값은 항상 allow입니다.

images

이미지 표시 여부입니다. 다음 중 하나 allow: 이미지 표시, block: 이미지를 표시하지 않습니다. 기본값은 allow입니다. 기본 URL은 최상위 프레임의 URL입니다. 보조 URL은 이미지의 URL입니다.

javascript

JavaScript 실행 여부입니다. 다음 중 하나 allow: JavaScript를 실행합니다. block: JavaScript를 실행하지 않습니다. 기본값은 allow입니다. 기본 URL은 최상위 프레임의 URL입니다. 보조 URL은 사용되지 않습니다.

location

위치정보 허용 여부입니다. 다음 중 하나 allow: 사이트에서 내 실제 위치를 추적하도록 허용 block: 사이트에서 내 실제 위치를 추적하도록 허용하지 않습니다. ask: 사이트에서 내 실제 위치를 추적하도록 허용하기 전에 확인합니다. 기본값은 ask입니다. 기본 URL은 위치 데이터를 요청한 문서의 URL입니다. 보조 URL은 최상위 프레임의 URL입니다 (요청 URL과 다를 수도 있고 다를 수도 있음).

microphone

Chrome 46 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

사이트의 마이크 액세스 허용 여부입니다. 다음 중 하나 allow: 사이트가 마이크에 액세스하도록 허용 block: 사이트에서 마이크에 액세스하는 것을 허용하지 않습니다. ask: 사이트에서 마이크에 액세스하려고 할 때 확인합니다. 기본값은 ask입니다. 기본 URL은 마이크 액세스를 요청한 문서의 URL입니다. 보조 URL은 사용되지 않습니다. 참고: 두 패턴이 모두 ''인 경우 설정이 유효하지 않습니다.

mouselock

지원 중단되었습니다. 더 이상 아무런 효과가 없습니다. 이제 모든 사이트에 마우스 잠금 권한이 자동으로 부여됩니다. 값은 항상 allow입니다.

notifications

사이트에서 데스크톱 알림을 표시하도록 허용할지 여부입니다. 다음 중 하나 allow: 사이트에서 데스크톱 알림을 표시하도록 허용 block: 사이트에서 데스크톱 알림을 표시하도록 허용하지 않음 ask: 사이트에서 데스크톱 알림을 표시할 때 확인 기본값은 ask입니다. 기본 URL은 알림을 표시하려는 문서의 URL입니다. 보조 URL은 사용되지 않습니다.

plugins

지원 중단되었습니다. Chrome 88에서 Flash 지원이 제거되었으므로 이 권한은 더 이상 적용되지 않습니다. 값은 항상 block입니다. set()clear() 호출은 무시됩니다.

popups

사이트에서 팝업을 표시하도록 허용할지 여부입니다. 다음 중 하나 allow: 사이트에서 팝업을 표시하도록 허용 block: 사이트에서 팝업을 표시하도록 허용하지 않습니다. 기본값은 block입니다. 기본 URL은 최상위 프레임의 URL입니다. 보조 URL은 사용되지 않습니다.

unsandboxedPlugins

지원 중단되었습니다. 이전에는 사이트에서 샌드박스 처리되지 않은 플러그인 실행을 허용할지 여부를 제어했지만, Chrome 88에서 Flash 브로커 프로세스가 제거되었으므로 이 권한이 더 이상 적용되지 않습니다. 값은 항상 block입니다. set()clear() 호출은 무시됩니다.