API 참조 문서

대부분의 확장 프로그램은 작동하려면 하나 이상의 Chrome Extensions API에 액세스해야 합니다. 이 API 참조에서는 확장 프로그램에서 사용할 수 있는 API를 설명하고 사용 사례 예시를 제공합니다.

공통 확장 프로그램 API 기능

확장 프로그램 API는 확장 프로그램 작업을 수행하기 위한 메서드와 속성이 포함된 네임스페이스로 구성되지만 일반적으로는 그렇지 않습니다. 항상 manifest.json 파일의 매니페스트 필드입니다. 예를 들어 chrome.action 네임스페이스에는 매니페스트에 "action" 객체가 필요합니다. 또한 많은 API에는 매니페스트의 권한이 필요합니다.

확장 프로그램 API의 메서드는 달리 명시되지 않는 한 비동기식입니다. 비동기 메서드는 대기 없이 즉시 반환됩니다. 확인할 수 있습니다. promises를 사용하여 이러한 비동기 메서드의 결과를 가져옵니다.

Chrome Extension API

accessibilityFeatures

chrome.accessibilityFeatures API를 사용하여 Chrome의 접근성 기능을 관리합니다. 이 API는 개별 접근성 기능을 가져오고 설정하기 위해 API 유형의 ChromeSetting 프로토타입을 사용합니다. 기능 상태를 가져오려면 확장 프로그램에서 accessibilityFeatures.read 권한을 요청해야 합니다. 지형지물 상태를 수정하려면 확장 프로그램에 accessibilityFeatures.modify 권한이 필요합니다. accessibilityFeatures.modifyaccessibilityFeatures.read 권한을 암시하지 않습니다.

작업
Chrome 88 이상 MV3 이상

chrome.action API를 사용하여 Chrome 툴바에서 확장 프로그램 아이콘을 제어합니다.

alarms

chrome.alarms API를 사용하여 코드가 주기적으로 또는 향후 특정 시간에 실행되도록 예약합니다.

오디오
Chrome 59 이상 ChromeOS만 해당

chrome.audio API는 사용자가 시스템에 연결된 오디오 기기에 관한 정보를 얻고 이를 제어할 수 있도록 제공됩니다. 이 API는 현재 ChromeOS용 키오스크 모드에서만 사용할 수 있습니다.

북마크

chrome.bookmarks API를 사용하여 북마크를 생성, 구성, 조작하세요. 맞춤 북마크 관리자 페이지를 만드는 데 사용할 수 있는 페이지 재정의도 참고하세요.

browsingData

chrome.browsingData API를 사용하여 사용자의 로컬 프로필에서 인터넷 사용 기록을 삭제합니다.

certificateProvider
Chrome 46 이상 ChromeOS만 해당

이 API를 사용하여 TLS 인증에 이러한 인증서를 사용할 수 있는 플랫폼에 인증서를 노출합니다.

명령어

명령어 API를 사용하여 확장 프로그램에서 작업(예: 브라우저 작업을 열거나 확장 프로그램에 명령어를 전송하는 작업)을 트리거하는 단축키를 추가합니다.

contentSettings

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

contextMenus

chrome.contextMenus API를 사용하여 Chrome 컨텍스트 메뉴에 항목을 추가하세요. 이미지, 하이퍼링크, 페이지 등 컨텍스트 메뉴에 추가할 객체의 유형을 선택할 수 있습니다.

쿠키

chrome.cookies API를 사용하여 쿠키를 쿼리하고 수정하며 쿠키가 변경될 때 알림을 받습니다.

디버거

chrome.debugger API는 Chrome 원격 디버깅 프로토콜의 대체 전송 역할을 합니다. chrome.debugger를 사용하여 하나 이상의 탭에 연결하여 네트워크 상호작용을 계측하고, JavaScript를 디버그하고, DOM 및 CSS를 변경하는 등의 작업을 할 수 있습니다. Debuggee 속성 tabId를 사용하여 sendCommand로 탭을 타겟팅하고 onEvent 콜백에서 tabId로 이벤트를 라우트합니다.

declarativeContent

chrome.declarativeContent API를 사용하면 페이지 콘텐츠를 읽을 수 있는 권한 없이 페이지 콘텐츠에 따라 작업을 수행할 수 있습니다.

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

chrome.declarativeNetRequest API는 선언적 규칙을 지정하여 네트워크 요청을 차단하거나 수정하는 데 사용합니다. 이를 통해 확장 프로그램이 네트워크 요청을 가로채서 콘텐츠를 보지 않고도 네트워크 요청을 수정할 수 있으므로 개인 정보 보호가 강화됩니다.

desktopCapture

Desktop Capture API는 화면, 개별 창 또는 개별 탭의 콘텐츠를 캡처합니다.

devtools.inspectedWindow

chrome.devtools.inspectedWindow API를 사용하여 검사된 창과 상호작용합니다. 검사된 페이지의 탭 ID를 가져오거나, 검사된 창의 컨텍스트에서 코드를 평가하거나, 페이지를 새로고침하거나, 페이지 내 리소스 목록을 가져옵니다.

devtools.network

chrome.devtools.network API를 사용하여 Network 패널의 개발자 도구에서 표시한 네트워크 요청에 관한 정보를 검색합니다.

devtools.panels

chrome.devtools.panels API를 사용하여 확장 프로그램을 개발자 도구 창 UI에 통합하세요. 자체 패널을 만들고 기존 패널에 액세스하고 사이드바를 추가할 수 있습니다.

devtools.performance
Chrome 129 이상

chrome.devtools.performance API를 사용하여 DevTools의 성능 패널에서 녹화 상태 업데이트를 수신 대기합니다.

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

chrome.devtools.recorder API를 사용하여 DevTools에서 Recorder 패널을 맞춤설정합니다.

dns
<ph type="x-smartling-placeholder"></ph> 개발자 채널 를 통해 개인정보처리방침을 정의할 수 있습니다.

DNS 확인에는 chrome.dns API를 사용하세요.

documentScan
Chrome 44 이상 ChromeOS만 해당

chrome.documentScan API를 사용하여 연결된 문서 스캐너에서 이미지를 검색하고 가져옵니다.

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

chrome.dom API를 사용하여 확장 프로그램용 특수 DOM API에 액세스

오프라인 저장

chrome.downloads API를 사용하여 프로그래매틱 방식으로 다운로드를 시작, 모니터링, 조작, 검색합니다.

enterprise.deviceAttributes
Chrome 46 이상 ChromeOS만 해당 정책 필요

chrome.enterprise.deviceAttributes API를 사용하여 기기 속성을 읽습니다. 참고: 이 API는 기업 정책으로 강제 설치된 확장 프로그램에서만 사용할 수 있습니다.

enterprise.hardwarePlatform
Chrome 71 이상 정책 필요

chrome.enterprise.hardwarePlatform API를 사용하여 브라우저가 실행되는 하드웨어 플랫폼의 제조업체 및 모델을 가져옵니다. 참고: 이 API는 기업 정책으로 설치된 확장 프로그램에서만 사용할 수 있습니다.

enterprise.networkingAttributes
Chrome 85 이상 ChromeOS만 해당 정책 필요

chrome.enterprise.networkingAttributes API를 사용하여 현재 네트워크에 관한 정보를 읽습니다. 참고: 이 API는 엔터프라이즈 정책에 따라 강제 설치된 확장 프로그램에서만 사용할 수 있습니다.

enterprise.platformKeys
ChromeOS만 해당 정책 필요

chrome.enterprise.platformKeys API를 사용하여 키를 생성하고 이 키의 인증서를 설치합니다. 인증서는 플랫폼에서 관리하며 TLS 인증, 네트워크 액세스 또는 chrome.platformKeys를 통한 다른 확장 프로그램에서 사용할 수 있습니다.

이벤트

chrome.events 네임스페이스에는 API에서 흥미로운 상황이 발생할 때 알려주기 위해 이벤트를 전달하는 데 사용되는 공통 유형이 포함되어 있습니다.

extension

chrome.extension API에는 모든 확장 프로그램 페이지에서 사용할 수 있는 유틸리티가 있습니다. 메시지 전달에 자세히 설명된 대로 확장 프로그램과 콘텐츠 스크립트 간에 또는 확장 프로그램 간에 메시지를 교환하는 기능이 포함됩니다.

extensionTypes

chrome.extensionTypes API에는 Chrome 확장 프로그램의 유형 선언이 포함되어 있습니다.

fileBrowserHandler
ChromeOS만 해당 포그라운드만 해당

chrome.fileBrowserHandler API를 사용하여 Chrome OS 파일 브라우저를 확장합니다. 예를 들어 이 API를 사용하여 사용자가 웹사이트에 파일을 업로드하도록 허용할 수 있습니다.

fileSystemProvider
<ph type="x-smartling-placeholder"></ph> ChromeOS만 해당 를 통해 개인정보처리방침을 정의할 수 있습니다.

chrome.fileSystemProvider API를 사용하여 ChromeOS의 파일 관리자에서 액세스할 수 있는 파일 시스템을 만듭니다.

fontSettings

chrome.fontSettings API를 사용하여 Chrome의 글꼴 설정을 관리합니다.

gcm

chrome.gcm를 사용하여 앱과 확장 프로그램이 Firebase 클라우드 메시징(FCM)을 통해 메시지를 주고받을 수 있도록 합니다.

기록

chrome.history API를 사용하여 방문한 페이지의 브라우저 기록과 상호작용합니다. 브라우저 기록에서 URL을 추가, 삭제, 쿼리할 수 있습니다. 내 버전으로 기록 페이지를 재정의하려면 페이지 재정의를 참고하세요.

i18n

chrome.i18n 인프라를 사용하여 전체 앱 또는 확장 프로그램에서 다국어화를 구현합니다.

ID

chrome.identity API를 사용하여 OAuth2 액세스 토큰을 가져옵니다.

유휴 상태

chrome.idle API를 사용하여 머신의 유휴 상태가 변경되는 시점을 감지합니다.

input.ime
<ph type="x-smartling-placeholder"></ph> ChromeOS만 해당 를 통해 개인정보처리방침을 정의할 수 있습니다.

chrome.input.ime API를 사용하여 Chrome OS용 맞춤 IME를 구현합니다. 이렇게 하면 확장 프로그램에서 키 입력을 처리하고, 컴포지션을 설정하고, 후보 창을 관리할 수 있습니다.

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

chrome.instanceID를 사용하여 인스턴스 ID 서비스에 액세스합니다.

loginState
Chrome 78 이상 ChromeOS만 해당

chrome.loginState API를 사용하여 로그인 상태를 읽고 모니터링합니다.

관리

chrome.management API는 설치된 앱과 확장 프로그램을 관리하는 방법을 제공합니다.

알림

chrome.notifications API를 사용하여 템플릿을 사용하여 리치 알림을 만들고 시스템 트레이에서 사용자에게 이러한 알림을 표시합니다.

offscreen
Chrome 109 이상 MV3 이상

offscreen API를 사용하여 오프스크린 문서를 만들고 관리합니다.

검색주소창

검색주소창 API를 사용하면 검색주소창이라고도 하는 Google Chrome의 주소 표시줄에 키워드를 등록할 수 있습니다.

pageCapture

chrome.pageCapture API를 사용하여 탭을 MHTML로 저장합니다.

권한

chrome.permissions API를 사용하여 설치 시점이 아닌 런타임에 선언된 선택적 권한을 요청하세요. 그러면 사용자가 권한이 필요한 이유를 이해하고 필요한 권한만 부여할 수 있습니다.

platformKeys
Chrome 45 이상 ChromeOS만 해당

chrome.platformKeys API를 사용하여 플랫폼에서 관리하는 클라이언트 인증서에 액세스합니다. 사용자 또는 정책이 권한을 부여하면 확장 프로그램이 맞춤 인증 프로토콜에서 이러한 인증서를 사용할 수 있습니다. 예를 들어 이를 통해 서드 파티 VPN에서 플랫폼 관리 인증서를 사용할 수 있습니다(chrome.vpnProvider 참고).

power

chrome.power API를 사용하여 시스템의 전원 관리 기능을 재정의합니다.

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

chrome.printerProvider API는 인쇄 관리자가 확장 프로그램으로 제어되는 프린터를 쿼리하고, 기능을 쿼리하고, 이러한 프린터에 인쇄 작업을 제출하는 데 사용하는 이벤트를 노출합니다.

printing
Chrome 81 이상 ChromeOS만 해당

chrome.printing API를 사용하여 Chromebook에 설치된 프린터로 인쇄 작업을 전송합니다.

printingMetrics
Chrome 79 이상 ChromeOS만 해당 정책 필요

chrome.printingMetrics API를 사용하여 인쇄 사용에 관한 데이터를 가져옵니다.

개인 정보 보호

chrome.privacy API를 사용하여 Chrome에서 사용자 개인 정보 보호에 영향을 줄 수 있는 기능의 사용을 제어합니다. 이 API는 Chrome의 구성을 가져오고 설정하기 위해 API 유형의 ChromeSetting 프로토타입을 사용합니다.

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

chrome.processes API를 사용하여 브라우저의 프로세스와 상호작용합니다.

proxy

chrome.proxy API를 사용하여 Chrome의 프록시 설정을 관리합니다. 이 API는 프록시 구성을 가져오고 설정하기 위해 API 유형의 ChromeSetting 프로토타입을 사용합니다.

readingList
Chrome 120 이상 MV3 이상

chrome.readingList API를 사용하여 읽기 목록의 항목을 읽고 수정합니다.

runtime

chrome.runtime API를 사용하여 서비스 워커를 검색하고, 매니페스트에 관한 세부정보를 반환하고, 확장 프로그램 수명 주기의 이벤트를 리슨하고 응답합니다. 또한 이 API를 사용하여 URL의 상대 경로를 정규화된 URL로 변환할 수 있습니다.

스크립팅
Chrome 88 이상 MV3 이상

chrome.scripting API를 사용하여 다양한 컨텍스트에서 스크립트를 실행합니다.

search
Chrome 87 이상

chrome.search API를 사용하여 기본 제공자를 통해 검색합니다.

세션

탐색 세션에서 탭과 창을 쿼리하고 복원하려면 chrome.sessions API를 사용합니다.

sidePanel
Chrome 114 이상 MV3 이상

chrome.sidePanel API를 사용하여 웹페이지의 기본 콘텐츠와 함께 브라우저의 측면 패널에 콘텐츠를 호스팅합니다.

storage

chrome.storage API를 사용하여 사용자 데이터의 변경사항을 저장, 검색, 추적합니다.

system.cpu

system.cpu API를 사용하여 CPU 메타데이터를 쿼리합니다.

system.display

system.display API를 사용하여 디스플레이 메타데이터를 쿼리합니다.

system.memory

chrome.system.memory API

system.storage

chrome.system.storage API를 사용하여 저장소 기기 정보를 쿼리하고 이동식 저장소 기기가 연결 및 분리될 때 알림을 받습니다.

systemLog
Chrome 125 이상 ChromeOS만 해당 정책 필요

chrome.systemLog API를 사용하여 확장 프로그램에서 Chrome 시스템 로그를 기록합니다.

tabCapture

chrome.tabCapture API를 사용하여 탭 미디어 스트림과 상호작용합니다.

tabGroups
Chrome 89 이상 MV3 이상

chrome.tabGroups API를 사용하여 브라우저의 탭 그룹화 시스템과 상호작용합니다. 이 API를 사용하여 브라우저에서 탭 그룹을 수정하고 재정렬할 수 있습니다. 탭을 그룹화 및 그룹화 해제하거나 그룹에 있는 탭을 쿼리하려면 chrome.tabs API를 사용하세요.

chrome.tabs API를 사용하여 브라우저의 탭 시스템과 상호작용합니다. 이 API를 사용하여 브라우저에서 탭을 만들고, 수정하고, 재정렬할 수 있습니다.

topSites

chrome.topSites API를 사용하여 새 탭 페이지에 표시되는 인기 사이트(즉, 가장 많이 방문한 사이트)에 액세스합니다. 사용자가 맞춤설정한 단축키는 포함되지 않습니다.

TTS

chrome.tts API를 사용하여 합성된 TTS (텍스트 음성 변환)를 재생합니다. 확장 프로그램이 음성 엔진을 구현할 수 있도록 하는 관련 ttsEngine API도 참고하세요.

ttsEngine

chrome.ttsEngine API를 사용하여 확장 프로그램을 사용하여 텍스트 음성 변환(TTS) 엔진을 구현합니다. 확장 프로그램이 이 API를 사용하여 등록하면 확장 프로그램 또는 Chrome 앱에서 tts API를 사용하여 음성을 생성할 때 음성으로 안내할 발화가 포함된 이벤트 및 기타 매개변수를 수신합니다. 그러면 확장 프로그램에서 사용 가능한 모든 웹 기술을 사용하여 음성을 합성 및 출력하고 이벤트를 호출 함수로 다시 전송하여 상태를 보고할 수 있습니다.

유형

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

userScripts
Chrome 120 이상 MV3 이상

userScripts API를 사용하여 사용자 스크립트 컨텍스트에서 사용자 스크립트를 실행합니다.

vpnProvider
Chrome 43 이상 ChromeOS만 해당

chrome.vpnProvider API를 사용하여 VPN 클라이언트를 구현합니다.

배경화면
Chrome 43 이상 ChromeOS만 해당

chrome.wallpaper API를 사용하여 ChromeOS 배경화면을 변경합니다.

webAuthenticationProxy
Chrome 115 이상 MV3 이상

chrome.webAuthenticationProxy API를 사용하면 원격 호스트에서 실행되는 원격 데스크톱 소프트웨어가 Web Authentication API (WebAuthn) 요청을 가로채 로컬 클라이언트에서 요청을 처리할 수 있습니다.

webNavigation

chrome.webNavigation API를 사용하여 진행 중인 내비게이션 요청의 상태에 관한 알림을 수신합니다.

webRequest

chrome.webRequest API를 사용하여 트래픽을 관찰하고 분석하고, 전송 중인 요청을 가로채거나 차단하거나 수정합니다.

windows

chrome.windows API를 사용하여 브라우저 창과 상호작용합니다. 이 API를 사용하여 브라우저에서 창을 만들고, 수정하고, 재정렬할 수 있습니다.