chrome.tabs

설명

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

개요

Tabs API는 탭 조작 및 관리를 위한 기능을 제공할 뿐만 아니라 언어를 선택하고 스크린샷을 찍습니다. 탭의 콘텐츠 스크립트로 커뮤니케이션

권한

대부분의 기능은 사용 권한이 필요하지 않습니다. 예를 들어 새 탭을 만듭니다. 탭 새로고침, 다른 URL로 탐색

개발자가 Tabs API를 사용할 때 알아야 하는 세 가지 권한이 있습니다.

'탭' 권한
이 권한으로는 chrome.tabs 네임스페이스에 액세스할 수 없습니다. 대신 확장 프로그램이 4에 대해 tabs.query()를 호출할 수 있는 권한을 부여합니다. tabs.Tab 인스턴스의 민감한 속성: url, pendingUrl, titlefavIconUrl입니다.
호스트 권한
호스트 권한을 사용하면 확장 프로그램이 일치하는 탭의 4가지 민감한 정보를 읽고 쿼리할 수 있습니다. tabs.Tab 속성 또한 다음과 같은 메서드를 사용하여 일치하는 탭과 직접 상호작용할 수도 있습니다. 유형: tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS()tabs.removeCSS().
'activeTab' 권한
activeTab는 다음의 현재 탭에 확장 프로그램 임시 호스트 권한을 부여합니다. 사용자 호출에 대한 응답입니다. 호스트 권한과 달리 activeTab는 경고를 트리거하지 않습니다.

매니페스트

다음은 매니페스트에서 각 권한을 선언하는 방법을 보여주는 예입니다.

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

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

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

사용 사례

다음 섹션에서는 몇 가지 일반적인 사용 사례를 보여줍니다.

새 탭에서 확장 프로그램 페이지 열기

확장 프로그램의 일반적인 패턴은 확장 프로그램이 설치해야 합니다. 다음 예는 그 방법을 보여줍니다.

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});
드림

현재 탭 가져오기

이 예에서는 확장 프로그램의 서비스 워커가 활성 탭을 현재 포커스가 설정된 창 (또는 포커스가 설정된 Chrome 창이 없는 경우 가장 최근에 포커스가 설정된 창) 이 일반적으로 사용자의 현재 탭으로 생각할 수 있습니다.

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

지정된 탭 음소거

이 예는 확장 프로그램이 특정 탭의 음소거 상태를 전환하는 방법을 보여줍니다.

  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

클릭 시 현재 탭을 첫 번째 위치로 이동

이 예에서는 드래그가 진행 중일 수도 있고 진행되지 않을 수도 있는 동안 탭을 이동하는 방법을 보여줍니다. 이 예는 chrome.tabs.move를 사용하는 경우 탭을 수정하는 다른 호출에 동일한 대기 패턴을 사용할 수 있습니다. 드래그가 진행 중일 수도 있습니다.

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }
드림

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

선택한 탭의 콘텐츠 스크립트에 메시지 전달

이 예에서는 확장 프로그램의 서비스 워커가 tabs.sendMessage()를 사용하여 특정 브라우저 탭에서 콘텐츠 스크립트와 통신하는 방법을 보여줍니다.

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

확장 프로그램의 예

더 많은 Tabs API 확장 프로그램 데모를 살펴보려면 다음 중 하나를 살펴보세요.

유형

MutedInfo

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

탭의 음소거 상태 및 마지막 상태가 변경된 이유

속성

  • extensionId

    문자열(선택사항)

    음소거 상태를 변경한 확장 프로그램의 ID입니다. 확장 프로그램이 음소거 상태가 마지막으로 변경된 이유가 아닌 경우 설정되지 않습니다.

  • 음소거

    부울

    탭의 음소거 (사운드 재생 차단) 여부입니다. 탭을 재생하지 않았거나 현재 사운드가 재생 중이 아닌 경우에도 음소거될 수 있습니다. 'muted' 오디오 표시기가 나타납니다.

  • reason

    MutedInfoReason 선택사항

    탭이 음소거 또는 음소거 해제된 이유입니다. 탭의 음소거 상태가 변경된 적이 없으면 설정되지 않습니다.

MutedInfoReason

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

음소거 상태 변경을 야기한 이벤트입니다.

열거형

"user"
사용자 입력 작업은 음소거 상태를 설정합니다.

"capture"
탭 캡처가 시작되어 음소거된 상태 변경이 강제 적용되었습니다.

"extension"
확장 프로그램 ID 필드로 식별되는 확장 프로그램은 음소거 상태를 설정합니다.

Tab

속성

  • 운영중

    부울

    탭이 창에서 활성 상태인지 여부입니다. 반드시 창에 포커스가 있는 것은 아닙니다.

  • 오더블

    불리언 선택사항

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

    지난 몇 초 동안 탭에서 소리가 나는지 여부입니다 (음소거해도 들리지 않을 수 있음). '스피커 오디오' 표시됩니다.

  • autoDiscardable

    부울

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

    리소스가 부족할 때 브라우저에서 탭을 자동으로 삭제할 수 있는지 여부입니다.

  • 삭제됨

    부울

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

    탭의 삭제 여부입니다. 삭제된 탭은 콘텐츠가 메모리에서 로드 취소되었지만 탭 표시줄에 계속 표시되는 탭입니다. 다음번에 활성화되면 콘텐츠가 다시 로드됩니다.

  • favIconUrl

    문자열(선택사항)

    탭 파비콘의 URL입니다. 이 속성은 확장 프로그램의 매니페스트에 "tabs" 권한이 포함된 경우에만 존재합니다. 탭이 로드 중인 경우 빈 문자열일 수도 있습니다.

  • groupId

    숫자

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

    탭이 속한 그룹의 ID입니다.

  • 높이

    숫자 선택사항

    탭의 높이(픽셀)입니다.

  • 눈에 띄는 채팅 메시지

    부울

    탭의 강조 표시 여부입니다.

  • id

    숫자 선택사항

    탭의 ID입니다. 탭 ID는 브라우저 세션 내에서 고유합니다. 경우에 따라 탭에 ID가 할당되지 않을 수 있습니다. 예를 들어 sessions API를 사용하여 외부 탭을 쿼리할 때 세션 ID가 있을 수 있습니다. 앱 및 devtools 창의 탭 ID도 chrome.tabs.TAB_ID_NONE로 설정할 수 있습니다.

  • 시크릿 모드

    부울

    탭이 시크릿 창에 있는지 여부

  • 색인

    숫자

    창 내 탭의 0부터 시작하는 색인입니다.

  • lastAccessed

    숫자

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

    탭에 마지막으로 액세스한 시간을 에포크 이후 밀리초 단위로 나타낸 값입니다.

  • mutedInfo

    MutedInfo 선택사항

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

    탭의 음소거 상태 및 마지막 상태가 변경된 이유

  • openerTabId

    숫자 선택사항

    이 탭을 연 탭의 ID입니다(있는 경우). 이 속성은 오프너 탭이 여전히 존재하는 경우에만 존재합니다.

  • pendingUrl

    문자열(선택사항)

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

    탭이 커밋되기 전에 탭이 이동하는 URL입니다. 이 속성은 확장 프로그램의 매니페스트에 "tabs" 권한이 포함되어 있고 대기 중인 탐색이 있는 경우에만 존재합니다.

  • 고정됨

    부울

    탭 고정 여부입니다.

  • 선택됨

    부울

    <ph type="x-smartling-placeholder"></ph> 지원 중단됨

    tabs.Tab.highlighted을(를) 사용하세요.

    탭 선택 여부입니다.

  • sessionId

    문자열(선택사항)

    sessions API에서 가져온 탭을 고유하게 식별하는 데 사용되는 세션 ID입니다.

  • 상태

    TabStatus 선택사항

    탭의 로드 상태입니다.

  • 제목

    문자열(선택사항)

    탭의 제목입니다. 이 속성은 확장 프로그램의 매니페스트에 "tabs" 권한이 포함된 경우에만 존재합니다.

  • URL

    문자열(선택사항)

    탭 메인 프레임의 마지막으로 커밋된 URL입니다. 이 속성은 확장 프로그램의 매니페스트에 "tabs" 권한이 포함된 경우에만 표시되며 탭이 아직 커밋되지 않은 경우 빈 문자열일 수 있습니다. Tab.pendingUrl도 참고하세요.

  • 너비

    숫자 선택사항

    탭의 너비(픽셀)입니다.

  • windowId

    숫자

    탭이 포함된 창의 ID입니다.

TabStatus

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

탭의 로드 상태입니다.

열거형

"unloaded"

"로드 중"

"완료"

WindowType

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

창 유형입니다.

열거형

"normal"

"popup"

"패널"

"앱"

"devtools"

ZoomSettings

탭의 확대/축소 변경이 처리되는 방식과 범위를 정의합니다.

속성

  • defaultZoomFactor

    숫자 선택사항

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

    tab.getZoomSettings 호출 시 현재 탭의 기본 확대/축소 수준을 반환하는 데 사용됩니다.

  • 모드

    확대/축소 변경이 처리되는 방식, 즉 페이지의 실제 배율을 담당하는 항목을 정의합니다. 기본값은 automatic입니다.

  • 범위

    ZoomSettingsScope 선택사항

    확대/축소 변경사항이 페이지 원점에 대해 유지되는지 또는 이 탭에서만 적용할지 정의합니다. 기본값은 automatic 모드일 때는 per-origin이고 그렇지 않으면 per-tab입니다.

ZoomSettingsMode

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

확대/축소 변경이 처리되는 방식, 즉 페이지의 실제 배율을 담당하는 항목을 정의합니다. 기본값은 automatic입니다.

열거형

"자동"
확대/축소 변경은 브라우저에서 자동으로 처리됩니다.

"manual"
확대/축소 변경의 자동 처리를 재정의합니다. onZoomChange 이벤트는 계속 전달되며 이 이벤트를 수신 대기하고 수동으로 페이지의 크기를 조정하는 것은 확장 프로그램의 책임입니다. 이 모드는 per-origin 확대/축소를 지원하지 않으므로 scope 확대/축소 설정을 무시하고 per-tab로 가정합니다.

"Disabled"
탭의 모든 확대/축소를 사용 중지합니다. 탭이 기본 확대/축소 수준으로 되돌아가고 확대/축소 변경을 시도할 경우 모두 무시됩니다.

ZoomSettingsScope

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

확대/축소 변경사항이 페이지 원점에 대해 유지되는지 또는 이 탭에서만 적용할지 정의합니다. 기본값은 automatic 모드일 때는 per-origin이고 그렇지 않으면 per-tab입니다.

열거형

"per-origin"
확대/축소 변경사항은 확대/축소된 페이지의 원점에서 유지됩니다. 즉, 동일한 출처로 이동하는 다른 모든 탭도 확대/축소됩니다. 또한 per-origin 확대/축소 변경사항은 원점과 함께 저장됩니다. 즉, 동일한 출처의 다른 페이지로 이동할 때 모두 동일한 확대/축소 배율로 확대됩니다. per-origin 범위는 automatic 모드에서만 사용할 수 있습니다.

'탭별'
확대/축소 변경사항은 이 탭에만 적용되며 다른 탭의 확대/축소 변경사항은 이 탭의 확대/축소에 영향을 주지 않습니다. 또한 탐색 시 확대/축소 per-tab 변경사항이 재설정됩니다. 탭을 탐색하면 항상 per-origin 확대/축소 배율로 페이지가 로드됩니다.

속성

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

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

captureVisibleTab를 초당 호출할 수 있는 최대 횟수입니다. captureVisibleTab는 비용이 많이 들고 너무 자주 호출해서는 안 됩니다.

2

TAB_ID_NONE

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

브라우저 탭이 없음을 나타내는 ID입니다.

-1

TAB_INDEX_NONE

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

tab_strip에 탭 색인이 없음을 나타내는 색인

-1

메서드

captureVisibleTab()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

지정된 창에서 현재 활성화된 탭의 표시 영역을 캡처합니다. 이 메서드를 호출하려면 확장 프로그램에 &lt;all_urls&gt; 권한 또는 activeTab 권한이 있어야 합니다. 이 방법을 사용하면 확장 프로그램이 일반적으로 액세스할 수 있는 사이트 외에도 chrome:-scheme 페이지, 기타 확장 프로그램 URL, 페이지, 데이터가 포함됩니다. 이러한 민감한 사이트는 ActiveTab 권한으로만 캡처할 수 있습니다. 확장 프로그램에 파일 액세스 권한이 부여된 경우에만 파일 URL을 캡처할 수 있습니다.

매개변수

  • windowId

    숫자 선택사항

    타겟 창 기본값은 현재 창입니다.

  • 옵션

    ImageDetails 선택사항

  • 콜백

    함수 선택사항

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

    (dataUrl: string) => void

    • dataUrl

      문자열

      캡처된 탭의 표시 영역의 이미지를 인코딩하는 데이터 URL입니다. 'src'에 할당할 수 있습니다. 표시할 HTML img 요소의 속성입니다.

반환 값

  • 프로미스<string>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)

지정된 탭의 콘텐츠 스크립트에 연결합니다. runtime.onConnect 이벤트는 현재 확장 프로그램의 지정된 탭에서 실행되는 각 콘텐츠 스크립트에서 실행됩니다. 자세한 내용은 콘텐츠 스크립트 메시징을 참고하세요.

매개변수

  • tabId

    숫자

  • connectInfo

    객체(선택사항)

    • documentId

      문자열(선택사항)

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

      탭의 모든 프레임이 아닌 documentId로 식별된 특정 문서로 포트를 엽니다.

    • frameId

      숫자 선택사항

      탭의 모든 프레임이 아닌 frameId로 식별된 특정 프레임으로 포트를 엽니다.

    • 이름

      문자열(선택사항)

      연결 이벤트를 수신 대기하는 콘텐츠 스크립트의 경우 onConnect로 전달됩니다.

반환 값

  • 지정된 탭에서 실행 중인 콘텐츠 스크립트와 통신하는 데 사용할 수 있는 포트입니다. 탭이 닫히거나 존재하지 않으면 포트의 runtime.Port 이벤트가 실행됩니다.

create()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

새 탭을 만듭니다.

매개변수

  • createProperties

    객체

    • 운영중

      불리언 선택사항

      창에서 탭을 활성 탭으로 변경할지 여부입니다. 창에 포커스가 있는지에는 영향을 미치지 않습니다 (windows.update 참고). 기본값은 true입니다.

    • 색인

      숫자 선택사항

      창에서 탭이 차지해야 하는 위치입니다. 제공된 값은 0과 창의 탭 수 사이로 고정됩니다.

    • openerTabId

      숫자 선택사항

      이 탭을 연 탭의 ID입니다. 지정된 경우 오프너 탭이 새로 생성된 탭과 같은 창에 있어야 합니다.

    • 고정됨

      불리언 선택사항

      탭을 고정할지 여부입니다. 기본값은 false입니다.

    • 선택됨

      불리언 선택사항

      <ph type="x-smartling-placeholder"></ph> 지원 중단됨

      활성을 사용하세요.

      창에서 탭을 선택한 탭으로 할지 여부입니다. 기본값은 true입니다.

    • URL

      문자열(선택사항)

      탭을 처음 탐색할 URL입니다. 정규화된 URL은 스키마 (예: 'www.google.com'이 아닌 'http://www.google.com'). 상대 URL은 확장 프로그램 내의 현재 페이지를 기준으로 합니다. 기본값은 새 탭 페이지입니다.

    • windowId

      숫자 선택사항

      새 탭을 만들 창입니다. 기본값은 현재 창입니다.

  • 콜백

    함수 선택사항

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

    (tab: Tab) => void

    • 생성된 탭

반환 값

  • 약속 <Tab>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

detectLanguage()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

탭에 있는 콘텐츠의 기본 언어를 감지합니다.

매개변수

  • tabId

    숫자 선택사항

    기본값은 현재 창의 활성 탭입니다.

  • 콜백

    함수 선택사항

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

    (language: string) => void

    • language

      문자열

      en 또는 fr와 같은 ISO 언어 코드입니다. 이 메서드에서 지원하는 전체 언어 목록은 kLanguageInfoTable을 참조하세요. 두 번째에서 네 번째 열을 확인하면 NULL이 아닌 첫 번째 값이 반환됩니다. 단, 중국어 간체의 경우 zh-CN가 반환됩니다. 알 수 없거나 정의되지 않은 언어의 경우 und이 반환됩니다.

반환 값

  • 프로미스<string>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

discard()

<ph type="x-smartling-placeholder"></ph> 프로미스 Chrome 54 이상
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

메모리에서 탭을 삭제합니다. 삭제된 탭은 탭 표시줄에 계속 표시되며 활성화되면 새로고침됩니다.

매개변수

  • tabId

    숫자 선택사항

    삭제할 탭의 ID입니다. 지정하면 활성 상태이거나 이미 삭제되지 않는 한 탭이 삭제됩니다. 생략하면 브라우저에서 가장 중요하지 않은 탭을 삭제합니다. 삭제할 수 있는 탭이 없으면 실패할 수 있습니다.

  • 콜백

    함수 선택사항

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

    (tab?: Tab) => void

    •  선택사항

      삭제된 탭(삭제된 경우) 정의되지 않습니다.

반환 값

  • 프라미스 <Tab | 정의되지 않음>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

duplicate()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

탭을 복사합니다.

매개변수

  • tabId

    숫자

    복제할 탭의 ID입니다.

  • 콜백

    함수 선택사항

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

    (tab?: Tab) => void

    •  선택사항

      복제된 탭에 대한 세부정보입니다. "tabs" 권한이 요청되지 않은 경우 tabs.Tab 객체에 url, pendingUrl, title, favIconUrl가 포함되지 않습니다.

반환 값

  • 프라미스 <Tab | 정의되지 않음>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

executeScript()

<ph type="x-smartling-placeholder"></ph> 프로미스 에서 확인하세요. &amp;leq; MV2 Chrome 91 이후 지원 중단됨
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

Manifest V3에서 scripting.executeScript로 대체되었습니다.

JavaScript 코드를 페이지에 삽입합니다. 자세한 내용은 콘텐츠 스크립트 문서의 프로그래매틱 삽입 섹션을 참고하세요.

매개변수

  • tabId

    숫자 선택사항

    스크립트를 실행할 탭의 ID입니다. 기본적으로 현재 창의 활성 탭으로 설정됩니다.

  • 세부정보

    실행할 스크립트의 세부정보입니다. 코드 또는 파일 속성 중 하나를 설정해야 하지만 두 가지를 동시에 설정할 수는 없습니다.

  • 콜백

    함수 선택사항

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

    (result?: any[]) => void

    • 결과

      any[] 선택사항

      삽입된 모든 프레임에서의 스크립트 결과

반환 값

  • Promise&lt;any[] | 정의되지 않음>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

get()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

지정된 탭에 대한 세부정보를 검색합니다.

매개변수

  • tabId

    숫자

  • 콜백

    함수 선택사항

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

    (tab: Tab) => void

반환 값

  • 약속 <Tab>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getAllInWindow()

<ph type="x-smartling-placeholder"></ph> 프로미스 에서 확인하세요. &amp;leq; MV2 지원 중단됨
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

tabs.query {windowId: windowId}을(를) 사용하세요.

지정된 창의 모든 탭에 관한 세부정보를 가져옵니다.

매개변수

  • windowId

    숫자 선택사항

    기본값은 현재 창입니다.

  • 콜백

    함수 선택사항

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

    (tabs: Tab[]) => void

반환 값

  • 약속<Tab[]>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getCurrent()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.getCurrent(
  callback?: function,
)

이 스크립트 호출이 이루어진 탭을 가져옵니다. 탭이 아닌 컨텍스트 (예: 백그라운드 페이지 또는 팝업 뷰)에서 호출되면 undefined를 반환합니다.

매개변수

  • 콜백

    함수 선택사항

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

    (tab?: Tab) => void

    •  선택사항

반환 값

  • 프라미스 <Tab | 정의되지 않음>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getSelected()

<ph type="x-smartling-placeholder"></ph> 프로미스 에서 확인하세요. &amp;leq; MV2 지원 중단됨
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

tabs.query {active: true}을(를) 사용하세요.

지정된 창에서 선택된 탭을 가져옵니다.

매개변수

  • windowId

    숫자 선택사항

    기본값은 현재 창입니다.

  • 콜백

    함수 선택사항

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

    (tab: Tab) => void

반환 값

  • 약속 <Tab>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getZoom()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

지정된 탭의 현재 확대/축소 배율을 가져옵니다.

매개변수

  • tabId

    숫자 선택사항

    현재 확대/축소 배율을 가져올 탭의 ID입니다. 기본적으로 현재 창의 활성 탭으로 설정됩니다.

  • 콜백

    함수 선택사항

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

    (zoomFactor: number) => void

    • zoomFactor

      숫자

      탭의 현재 확대/축소 배율입니다.

반환 값

  • Promise&lt;number&gt;

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getZoomSettings()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

지정된 탭의 현재 확대/축소 설정을 가져옵니다.

매개변수

  • tabId

    숫자 선택사항

    현재 확대/축소 설정을 가져올 탭의 ID입니다. 기본적으로 현재 창의 활성 탭으로 설정됩니다.

  • 콜백

    함수 선택사항

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      탭의 현재 확대/축소 설정입니다.

반환 값

  • Promise&lt;ZoomSettings&gt;

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

goBack()

<ph type="x-smartling-placeholder"></ph> 프로미스 Chrome 72 이상
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

이전 페이지가 있는 경우 이전 페이지로 돌아갑니다.

매개변수

  • tabId

    숫자 선택사항

    뒤로 이동할 탭의 ID입니다. 기본적으로 현재 창의 선택된 탭으로 설정됩니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

goForward()

<ph type="x-smartling-placeholder"></ph> 프로미스 Chrome 72 이상
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

사용 가능한 경우 다음 페이지로 이동합니다.

매개변수

  • tabId

    숫자 선택사항

    앞으로 이동할 탭의 ID입니다. 기본적으로 현재 창의 선택된 탭으로 설정됩니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

group()

<ph type="x-smartling-placeholder"></ph> 프로미스 Chrome 88 이상
chrome.tabs.group(
  options: object,
  callback?: function,
)

지정된 그룹에 하나 이상의 탭을 추가합니다. 그룹이 지정되지 않은 경우 새로 만든 그룹에 해당 탭을 추가합니다.

매개변수

  • 옵션

    객체

    • createProperties

      객체(선택사항)

      그룹을 만들기 위한 구성입니다. groupId가 이미 지정된 경우에는 사용할 수 없습니다.

      • windowId

        숫자 선택사항

        새 그룹의 창입니다. 기본값은 현재 창입니다.

    • groupId

      숫자 선택사항

      탭을 추가할 그룹의 ID입니다. 지정하지 않으면 새 그룹이 생성됩니다.

    • tabIds

      숫자 | [숫자, ...숫자[]]

      지정된 그룹에 추가할 탭 ID 또는 탭 ID 목록입니다.

  • 콜백

    함수 선택사항

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

    (groupId: number) => void

    • groupId

      숫자

      탭이 추가된 그룹의 ID입니다.

반환 값

  • Promise&lt;number&gt;

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

highlight()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

지정된 탭을 강조 표시하고 그룹의 첫 번째 탭에 포커스를 둡니다. 지정된 탭이 현재 활성 상태인 경우 아무 작업도 하지 않는 것으로 표시됩니다.

매개변수

  • highlightInfo

    객체

    • 숫자 | 숫자[]

      강조 표시할 하나 이상의 탭 색인입니다.

    • windowId

      숫자 선택사항

      탭이 포함된 창입니다.

  • 콜백

    함수 선택사항

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

    (window: Window) => void

    • 탭이 강조 표시된 창의 세부정보를 포함합니다.

반환 값

  • Promise&lt;windows.Window&gt;

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

insertCSS()

<ph type="x-smartling-placeholder"></ph> 프로미스 에서 확인하세요. &amp;leq; MV2 Chrome 91 이후 지원 중단됨
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

Manifest V3에서 scripting.insertCSS로 대체되었습니다.

CSS를 페이지에 삽입합니다. 이 메서드로 삽입된 스타일은 scripting.removeCSS를 사용하여 삭제할 수 있습니다. 자세한 내용은 콘텐츠 스크립트 문서의 프로그래매틱 삽입 섹션을 참고하세요.

매개변수

  • tabId

    숫자 선택사항

    CSS를 삽입할 탭의 ID입니다. 기본적으로 현재 창의 활성 탭으로 설정됩니다.

  • 세부정보

    삽입할 CSS 텍스트의 세부정보입니다. 코드 또는 파일 속성 중 하나를 설정해야 하지만 두 가지를 동시에 설정할 수는 없습니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

move()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)

하나 이상의 탭을 창 내의 새 위치 또는 새 창으로 이동합니다. 탭은 일반 (window.type === "normal") 창과 일반 창에서만 이동할 수 있습니다.

매개변수

  • tabIds

    숫자 | 숫자[]

    이동할 탭 ID 또는 탭 ID 목록입니다.

  • moveProperties

    객체

    • 색인

      숫자

      창을 이동할 위치입니다. -1을 사용하여 창의 끝에 탭을 배치합니다.

    • windowId

      숫자 선택사항

      기본값은 탭이 현재 있는 창입니다.

  • 콜백

    함수 선택사항

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

    (tabs: Tab | Tab[]) => void

    •  | []

      이동한 탭에 관한 세부정보입니다.

반환 값

  • 프라미스 <Tab | []>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

query()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

지정된 속성이 있는 모든 탭을 가져오거나 속성이 지정되지 않은 경우 모든 탭을 가져옵니다.

매개변수

  • queryInfo

    객체

    • 운영중

      불리언 선택사항

      창에서 탭이 활성 상태인지 여부

    • 오더블

      불리언 선택사항

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

      탭의 소리가 들리는지 여부입니다.

    • autoDiscardable

      불리언 선택사항

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

      리소스가 부족할 때 브라우저에서 탭을 자동으로 삭제할 수 있는지 여부입니다.

    • currentWindow

      불리언 선택사항

      탭이 현재 창에 있는지 여부입니다.

    • 삭제됨

      불리언 선택사항

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

      탭의 삭제 여부입니다. 삭제된 탭은 콘텐츠가 메모리에서 로드 취소되었지만 탭 표시줄에 계속 표시되는 탭입니다. 다음번에 활성화되면 콘텐츠가 다시 로드됩니다.

    • groupId

      숫자 선택사항

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

      탭이 속한 그룹의 ID입니다. 그룹화되지 않은 탭의 경우 tabGroups.TAB_GROUP_ID_NONE입니다.

    • 눈에 띄는 채팅 메시지

      불리언 선택사항

      탭 강조표시 여부입니다.

    • 색인

      숫자 선택사항

      창 내 탭의 위치입니다.

    • lastFocusedWindow

      불리언 선택사항

      마지막으로 포커스가 맞춰진 창에 탭이 있는지 여부입니다.

    • 음소거

      불리언 선택사항

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

      탭을 음소거할지 여부입니다.

    • 고정됨

      불리언 선택사항

      탭 고정 여부입니다.

    • 상태

      TabStatus 선택사항

      탭 로드 상태

    • 제목

      문자열(선택사항)

      페이지 제목을 패턴과 일치시킵니다. 확장 프로그램에 "tabs" 권한이 없으면 이 속성은 무시됩니다.

    • URL

      string | string[] 선택사항

      하나 이상의 URL 패턴을 기준으로 탭을 일치시킵니다. 프래그먼트 식별자가 일치하지 않습니다. 확장 프로그램에 "tabs" 권한이 없으면 이 속성은 무시됩니다.

    • windowId

      숫자 선택사항

      상위 창의 ID 또는 현재 창의 경우 windows.WINDOW_ID_CURRENT입니다.

    • windowType

      WindowType (선택사항)

      탭이 있는 창의 유형입니다.

  • 콜백

    함수 선택사항

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

    (result: Tab[]) => void

반환 값

  • 약속<Tab[]>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

reload()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

탭을 새로고침합니다.

매개변수

  • tabId

    숫자 선택사항

    새로고침할 탭의 ID입니다. 기본적으로 현재 창의 선택된 탭으로 설정됩니다.

  • reloadProperties

    객체(선택사항)

    • bypassCache

      불리언 선택사항

      로컬 캐싱을 우회할지 여부입니다. 기본값은 false입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

remove()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)

하나 이상의 탭을 닫습니다.

매개변수

  • tabIds

    숫자 | 숫자[]

    닫을 탭 ID 또는 탭 ID 목록입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

removeCSS()

<ph type="x-smartling-placeholder"></ph> 프로미스 Chrome 87 이상 &amp;leq; MV2 Chrome 91부터 지원 중단됨
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

Manifest V3에서 scripting.removeCSS로 대체되었습니다.

이전에 scripting.insertCSS 호출로 삽입된 페이지 CSS에서 삭제합니다.

매개변수

  • tabId

    숫자 선택사항

    CSS를 삭제할 탭의 ID입니다. 기본적으로 현재 창의 활성 탭으로 설정됩니다.

  • 세부정보

    삭제할 CSS 텍스트의 세부정보입니다. 코드 또는 파일 속성 중 하나를 설정해야 하지만 두 가지를 동시에 설정할 수는 없습니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

sendMessage()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

지정된 탭의 콘텐츠 스크립트에 단일 메시지를 전송하고 응답이 다시 전송될 때 실행할 콜백(선택사항)을 포함합니다. runtime.onMessage 이벤트는 현재 확장 프로그램의 지정된 탭에서 실행되는 각 콘텐츠 스크립트에서 실행됩니다.

매개변수

  • tabId

    숫자

  • 메시지

    모두

    전송할 메시지입니다. 이 메시지는 JSON-ifiable 객체여야 합니다.

  • 옵션

    객체(선택사항)

    • documentId

      문자열(선택사항)

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

      탭의 모든 프레임이 아닌 documentId로 식별된 특정 문서로 메시지를 보냅니다.

    • frameId

      숫자 선택사항

      탭의 모든 프레임이 아닌 frameId로 식별된 특정 프레임으로 메시지를 전송합니다.

  • 콜백

    함수 선택사항

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

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

    (response: any) => void

    • 응답

      모두

      메시지의 핸들러에서 보낸 JSON 응답 객체입니다. 지정된 탭에 연결하는 동안 오류가 발생하면 콜백이 인수 없이 호출되고 runtime.lastError가 오류 메시지로 설정됩니다.

반환 값

  • 약속<any>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

sendRequest()

<ph type="x-smartling-placeholder"></ph> 프로미스 에서 확인하세요. &amp;leq; MV2 지원 중단됨
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

runtime.sendMessage을(를) 사용하세요.

지정된 탭의 콘텐츠 스크립트에 단일 요청을 전송하며, 응답이 다시 전송될 때 실행할 선택적 콜백도 함께 전송합니다. extension.onRequest 이벤트는 현재 확장 프로그램의 지정된 탭에서 실행되는 각 콘텐츠 스크립트에서 실행됩니다.

매개변수

  • tabId

    숫자

  • 요청

    모두

  • 콜백

    함수 선택사항

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

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

    (response: any) => void

    • 응답

      모두

      요청 핸들러에서 전송한 JSON 응답 객체입니다. 지정된 탭에 연결하는 동안 오류가 발생하면 콜백이 인수 없이 호출되고 runtime.lastError가 오류 메시지로 설정됩니다.

반환 값

  • 약속<any>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

setZoom()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

지정된 탭을 확대/축소합니다.

매개변수

  • tabId

    숫자 선택사항

    확대/축소할 탭의 ID입니다. 기본적으로 현재 창의 활성 탭으로 설정됩니다.

  • zoomFactor

    숫자

    새로운 확대/축소 배율입니다. 값이 0이면 탭이 현재 기본 확대/축소 배율로 설정됩니다. 0보다 큰 값은 탭의 확대/축소 배율 (기본값이 아닐 수 있음)을 지정합니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

setZoomSettings()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

확대/축소 변경이 처리되는 방식을 정의하는 지정된 탭의 확대/축소 설정을 설정합니다. 탭을 탐색하면 이 설정이 기본값으로 재설정됩니다.

매개변수

  • tabId

    숫자 선택사항

    확대/축소 설정을 변경할 탭의 ID입니다. 기본적으로 현재 창의 활성 탭으로 설정됩니다.

  • zoomSettings

    확대/축소 변경이 처리되는 방식과 범위를 정의합니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

ungroup()

<ph type="x-smartling-placeholder"></ph> 프로미스 Chrome 88 이상
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)

각 그룹에서 하나 이상의 탭을 삭제합니다. 그룹이 비어 있는 경우 삭제됩니다.

매개변수

  • tabIds

    숫자 | [숫자, ...숫자[]]

    각 그룹에서 삭제할 탭 ID 또는 탭 ID의 목록입니다.

  • 콜백

    함수 선택사항

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

    () => void

반환 값

  • 프로미스<void>

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

update()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

탭의 속성을 수정합니다. updateProperties에 지정되지 않은 속성은 수정되지 않습니다.

매개변수

  • tabId

    숫자 선택사항

    기본값은 현재 창에서 선택된 탭입니다.

  • updateProperties

    객체

    • 운영중

      불리언 선택사항

      탭의 활성화 여부입니다. 창에 포커스가 있는지에는 영향을 미치지 않습니다 (windows.update 참고).

    • autoDiscardable

      불리언 선택사항

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

      리소스가 부족할 때 브라우저에서 탭을 자동으로 삭제해야 하는지 여부입니다.

    • 눈에 띄는 채팅 메시지

      불리언 선택사항

      현재 선택 항목에서 탭을 추가하거나 삭제합니다.

    • 음소거

      불리언 선택사항

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

      탭을 음소거해야 하는지 여부입니다.

    • openerTabId

      숫자 선택사항

      이 탭을 연 탭의 ID입니다. 지정하면 오프너 탭이 이 탭과 같은 창에 있어야 합니다.

    • 고정됨

      불리언 선택사항

      탭을 고정할지 여부입니다.

    • 선택됨

      불리언 선택사항

      <ph type="x-smartling-placeholder"></ph> 지원 중단됨

      강조표시됨을 사용하세요.

      탭 선택 여부입니다.

    • URL

      문자열(선택사항)

      탭으로 이동할 URL입니다. JavaScript URL은 지원되지 않습니다. 대신 scripting.executeScript를 사용하세요.

  • 콜백

    함수 선택사항

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

    (tab?: Tab) => void

    •  선택사항

      업데이트된 탭에 관한 세부정보 "tabs" 권한이 요청되지 않은 경우 tabs.Tab 객체에 url, pendingUrl, title, favIconUrl가 포함되지 않습니다.

반환 값

  • 프라미스 <Tab | 정의되지 않음>

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

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

이벤트

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

창의 활성 탭이 변경되면 실행됩니다. 이 이벤트가 발생한 시점에 탭의 URL이 설정되지 않을 수도 있지만, onUpdated 이벤트를 수신하여 URL이 설정될 때 알림을 받을 수 있습니다.

매개변수

  • 콜백

    함수

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

    (activeInfo: object) => void

    • activeInfo

      객체

      • tabId

        숫자

        활성화된 탭의 ID입니다.

      • windowId

        숫자

        활성 탭이 내부에서 변경된 창의 ID입니다.

onActiveChanged

<ph type="x-smartling-placeholder"></ph> &amp;leq; MV2 지원 중단됨
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

tabs.onActivated을(를) 사용하세요.

창에서 선택된 탭이 변경되면 실행됩니다. 이 이벤트가 발생한 시점에 탭의 URL이 설정되지 않았을 수 있지만, tabs.onUpdated 이벤트를 수신 대기하여 URL이 설정되었을 때 알림을 받을 수 있습니다.

매개변수

  • 콜백

    함수

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

    (tabId: number, selectInfo: object) => void

    • tabId

      숫자

    • selectInfo

      객체

      • windowId

        숫자

        선택한 탭이 내부에서 변경된 창의 ID입니다.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

탭이 창에 연결될 때 실행됩니다. 창 간에 이동했을 수 있습니다.

매개변수

  • 콜백

    함수

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

    (tabId: number, attachInfo: object) => void

    • tabId

      숫자

    • attachInfo

      객체

      • newPosition

        숫자

      • newWindowId

        숫자

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

탭이 생성될 때 실행됩니다. 이 이벤트가 실행될 때 탭의 URL과 탭 그룹 멤버십이 설정되지 않을 수도 있지만, onUpdated 이벤트를 수신하여 URL이 설정되거나 탭이 탭 그룹에 추가될 때 알림을 받을 수 있습니다.

매개변수

  • 콜백

    함수

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

    (tab: Tab) => void

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

탭이 창에서 분리되면 실행됩니다. 창 간에 이동했을 수 있습니다.

매개변수

  • 콜백

    함수

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

    (tabId: number, detachInfo: object) => void

    • tabId

      숫자

    • detachInfo

      객체

      • oldPosition

        숫자

      • oldWindowId

        숫자

onHighlightChanged

<ph type="x-smartling-placeholder"></ph> &amp;leq; MV2 지원 중단됨
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

tabs.onHighlighted을(를) 사용하세요.

창에서 강조 표시되거나 선택된 탭이 변경되면 실행됩니다.

매개변수

  • 콜백

    함수

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

    (selectInfo: object) => void

    • selectInfo

      객체

      • tabIds

        숫자[]

        창에 강조 표시된 모든 탭

      • windowId

        숫자

        탭이 변경된 창입니다.

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

창에서 강조 표시되거나 선택된 탭이 변경되면 실행됩니다.

매개변수

  • 콜백

    함수

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

    (highlightInfo: object) => void

    • highlightInfo

      객체

      • tabIds

        숫자[]

        창에 강조 표시된 모든 탭

      • windowId

        숫자

        탭이 변경된 창입니다.

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

창 내에서 탭이 이동하면 실행됩니다. 이동 이벤트는 하나만 발생하며 사용자가 직접 이동한 탭을 나타냅니다. 수동으로 이동한 탭에 응답하여 이동해야 하는 다른 탭에 대해서는 이동 이벤트가 실행되지 않습니다. 이 이벤트는 탭이 창 간에 이동해도 시작되지 않습니다. 자세한 내용은 tabs.onDetached를 참고하세요.

매개변수

  • 콜백

    함수

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

    (tabId: number, moveInfo: object) => void

    • tabId

      숫자

    • moveInfo

      객체

      • fromIndex

        숫자

      • toIndex

        숫자

      • windowId

        숫자

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

탭이 닫히면 실행됩니다.

매개변수

  • 콜백

    함수

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

    (tabId: number, removeInfo: object) => void

    • tabId

      숫자

    • removeInfo

      객체

      • isWindowClosing

        부울

        상위 창이 닫혀 탭이 닫히면 true입니다.

      • windowId

        숫자

        탭이 닫힌 창입니다.

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

사전 렌더링 또는 인스턴트로 인해 탭이 다른 탭으로 대체되면 실행됩니다.

매개변수

  • 콜백

    함수

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

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      숫자

    • removedTabId

      숫자

onSelectionChanged

<ph type="x-smartling-placeholder"></ph> &amp;leq; MV2 지원 중단됨
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

tabs.onActivated을(를) 사용하세요.

창에서 선택된 탭이 변경되면 실행됩니다.

매개변수

  • 콜백

    함수

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

    (tabId: number, selectInfo: object) => void

    • tabId

      숫자

    • selectInfo

      객체

      • windowId

        숫자

        선택한 탭이 내부에서 변경된 창의 ID입니다.

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

탭이 업데이트되면 실행됩니다.

매개변수

  • 콜백

    함수

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

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      숫자

    • changeInfo

      객체

      • 오더블

        불리언 선택사항

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

        탭의 새로운 청취 가능 상태입니다.

      • autoDiscardable

        불리언 선택사항

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

        탭의 새로운 자동 삭제 가능 상태입니다.

      • 삭제됨

        불리언 선택사항

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

        탭의 새로운 삭제된 상태입니다.

      • favIconUrl

        문자열(선택사항)

        탭의 새로운 파비콘 URL입니다.

      • groupId

        숫자 선택사항

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

        탭의 새 그룹

      • mutedInfo

        MutedInfo 선택사항

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

        탭의 새로운 음소거 상태 및 변경 이유

      • 고정됨

        불리언 선택사항

        탭의 새로운 고정 상태

      • 상태

        TabStatus 선택사항

        탭의 로드 상태입니다.

      • 제목

        문자열(선택사항)

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

        탭의 새 제목입니다.

      • URL

        문자열(선택사항)

        탭의 URL(변경된 경우)

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

탭을 확대/축소하면 실행됩니다.

매개변수

  • 콜백

    함수

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      객체

      • newZoomFactor

        숫자

      • oldZoomFactor

        숫자

      • tabId

        숫자

      • zoomSettings