chrome.tabs

설명

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

Tabs API는 탭을 조작하고 관리하는 기능을 제공할 뿐만 아니라 탭의 언어를 감지하고, 스크린샷을 찍고, 탭의 콘텐츠 스크립트와 커뮤니케이션할 수도 있습니다.

권한

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

개발자가 Tabs API로 작업할 때 알아야 하는 세 가지 권한이 있습니다.

'탭' 권한

이 권한으로는 chrome.tabs 네임스페이스에 액세스할 수 없습니다. 대신 확장 프로그램이 tabs.Tab 인스턴스의 네 가지 민감한 속성(url, pendingUrl, title, favIconUrl)에 대해 tabs.query()를 호출할 수 있는 기능을 부여합니다.

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
호스트 권한

호스트 권한을 사용하면 확장 프로그램이 일치하는 탭의 민감한 tabs.Tab 속성 4개를 읽고 쿼리할 수 있습니다. 또한 tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS(), tabs.removeCSS()와 같은 메서드를 사용하여 일치하는 탭과 직접 상호작용할 수도 있습니다.

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

activeTab는 사용자 호출에 대한 응답으로 현재 탭에 대한 임시 호스트 권한을 부여합니다. 호스트 권한과 달리 activeTab는 경고를 트리거하지 않습니다.

{
  "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입니다. 확장 프로그램이 음소거 상태가 마지막으로 변경된 이유가 아닌 경우 설정되지 않습니다.

  • 음소거

    boolean

    탭의 음소거 여부 (소리 재생이 차단됨) 탭이 재생되지 않았거나 현재 소리가 재생되고 있지 않더라도 음소거될 수 있습니다. '음소거' 오디오 표시기가 표시되는지 여부와 같습니다.

  • reason

    MutedInfoReason 선택사항

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

MutedInfoReason

Chrome 46 이상

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

enum

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

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

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

Tab

속성

  • 게시 중

    boolean

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

  • 오더블

    부울 선택사항

    Chrome 45 이상

    지난 몇 초 동안 탭이 소리를 생성했는지 여부입니다 (음소거된 경우에도 소리가 나지 않을 수 있음). '스피커 오디오' 표시기가 표시되는지 여부와 같습니다.

  • autoDiscardable

    boolean

    Chrome 54 이상

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

  • 삭제됨

    boolean

    Chrome 54 이상

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

  • favIconUrl

    문자열 선택사항

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

  • groupId

    숫자

    Chrome 88 이상

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

  • number 선택사항

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

  • 눈에 띄는 채팅 메시지

    boolean

    탭 강조 표시 여부입니다.

  • id

    number 선택사항

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

  • 시크릿 모드

    boolean

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

  • 색인

    숫자

    창 내에 있는 탭의 색인으로 0부터 시작합니다.

  • lastAccessed

    number 선택사항

    Chrome 121 이상

    탭에 마지막으로 액세스한 시간을 에포크 이후 밀리초 단위로 표시합니다.

  • mutedInfo

    MutedInfo(선택사항)

    Chrome 46 이상

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

  • openerTabId

    number 선택사항

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

  • pendingUrl

    문자열 선택사항

    Chrome 79 이상

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

  • 고정됨

    boolean

    탭 고정 여부입니다.

  • 선택됨

    boolean

    지원 중단됨

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

    탭 선택 여부입니다.

  • sessionId

    문자열 선택사항

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

  • status

    TabStatus 선택사항

    탭의 로드 상태입니다.

  • title

    문자열 선택사항

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

  • url

    문자열 선택사항

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

  • 너비

    number 선택사항

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

  • windowId

    숫자

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

TabStatus

Chrome 44 이상

탭의 로드 상태입니다.

enum

"unloaded"

WindowType

Chrome 44 이상

기간 유형입니다.

enum

"devtools"

ZoomSettings

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

속성

  • defaultZoomFactor

    number 선택사항

    Chrome 43 이상

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

  • 모드

    ZoomSettingsMode 선택사항

    확대/축소 변경이 처리되는 방식(예: 페이지의 실제 크기 조정을 담당하는 항목)을 정의합니다. 기본값은 automatic입니다.

  • 범위

    ZoomSettingsScope 선택사항

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

ZoomSettingsMode

Chrome 44 이상

확대/축소 변경이 처리되는 방식(예: 페이지의 실제 크기 조정을 담당하는 항목)을 정의합니다. 기본값은 automatic입니다.

enum

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

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

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

ZoomSettingsScope

Chrome 44 이상

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

enum

"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()

프로미스
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

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

매개변수

  • windowId

    number 선택사항

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

  • 옵션

    ImageDetails 선택사항

  • 콜백

    함수 선택사항

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

    (dataUrl: string)=>void

    • dataUrl

      문자열

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

반환 값

  • 프로미스<string>

    Chrome 88 이상

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

connect()

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

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

매개변수

  • tabId

    숫자

  • connectInfo

    객체 선택사항

    • documentId

      문자열 선택사항

      Chrome 106 이상

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

    • frameId

      number 선택사항

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

    • 이름

      문자열 선택사항

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

반환 값

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

create()

프로미스
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

새 탭을 만듭니다.

매개변수

  • createProperties

    객체

    • 게시 중

      부울 선택사항

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

    • 색인

      number 선택사항

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

    • openerTabId

      number 선택사항

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

    • 고정됨

      부울 선택사항

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

    • 선택됨

      부울 선택사항

      지원 중단됨

      active를 사용하세요.

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

    • url

      문자열 선택사항

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

    • windowId

      number 선택사항

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

  • 콜백

    함수 선택사항

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

    (tab: Tab)=>void

    • 생성된 탭

반환 값

  • Promise<Tab>

    Chrome 88 이상

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

detectLanguage()

프로미스
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

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

  • 콜백

    함수 선택사항

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

    (language: string)=>void

    • language

      문자열

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

반환 값

  • 프로미스<string>

    Chrome 88 이상

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

discard()

Promise Chrome 54 이상
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

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

  • 콜백

    함수 선택사항

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

    (tab?: Tab)=>void

    • Tab 선택사항

      삭제된 탭(성공적으로 삭제된 경우), 그 외에는 정의되지 않습니다.

반환 값

  • 프로미스<Tab|undefined>

    Chrome 88 이상

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

duplicate()

프로미스
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

탭을 복사합니다.

매개변수

  • tabId

    숫자

    복제할 탭의 ID입니다.

  • 콜백

    함수 선택사항

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

    (tab?: Tab)=>void

    • Tab 선택사항

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

반환 값

  • 프로미스<Tab|undefined>

    Chrome 88 이상

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

executeScript()

프로미스 &leq; MV2 Chrome 91 이후 지원 중단됨
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

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

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

매개변수

  • tabId

    number 선택사항

    스크립트를 실행할 탭의 ID입니다. 기본값은 현재 창의 활성 탭입니다.

  • 세부정보

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

  • 콜백

    함수 선택사항

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

    (result?: any[])=>void

    • 결과

      any[] 선택사항

      삽입된 모든 프레임의 스크립트 결과입니다.

반환 값

  • 프로미스<무관[]|undefined>

    Chrome 88 이상

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

get()

프로미스
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

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

매개변수

  • tabId

    숫자

  • 콜백

    함수 선택사항

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

    (tab: Tab)=>void

반환 값

  • Promise<Tab>

    Chrome 88 이상

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

getAllInWindow()

프로미스 &leq; MV2 지원 중단됨
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

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

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

매개변수

  • windowId

    number 선택사항

    기본값은 현재 기간입니다.

  • 콜백

    함수 선택사항

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

    (tabs: Tab[])=>void

반환 값

  • Promise<Tab[]>

    Chrome 88 이상

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

getCurrent()

프로미스
chrome.tabs.getCurrent(
  callback?: function,
)

이 스크립트 호출이 생성되는 탭을 가져옵니다. 탭이 아닌 컨텍스트 (예: 백그라운드 페이지 또는 팝업 뷰)에서 호출되는 경우 undefined가 반환됩니다.

매개변수

  • 콜백

    함수 선택사항

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

    (tab?: Tab)=>void

    • Tab 선택사항

반환 값

  • 프로미스<Tab|undefined>

    Chrome 88 이상

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

getSelected()

프로미스 &leq; MV2 지원 중단됨
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

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

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

매개변수

  • windowId

    number 선택사항

    기본값은 현재 기간입니다.

  • 콜백

    함수 선택사항

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

    (tab: Tab)=>void

반환 값

  • Promise<Tab>

    Chrome 88 이상

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

getZoom()

프로미스
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

    현재 확대/축소 배율을 가져올 탭의 ID입니다. 기본값은 현재 창의 활성 탭입니다.

  • 콜백

    함수 선택사항

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

    (zoomFactor: number)=>void

    • zoomFactor

      숫자

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

반환 값

  • 프로미스<number>

    Chrome 88 이상

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

getZoomSettings()

프로미스
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

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

  • 콜백

    함수 선택사항

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

    (zoomSettings: ZoomSettings)=>void

    • zoomSettings

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

반환 값

  • Promise<ZoomSettings>

    Chrome 88 이상

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

goBack()

Promise Chrome 72 이상
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

goForward()

Promise Chrome 72 이상
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

다음 페이지가 있는 경우 해당 페이지로 이동합니다.

매개변수

  • tabId

    number 선택사항

    앞으로 이동할 탭의 ID입니다. 기본값은 현재 창에서 선택한 탭으로 설정됩니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

group()

Promise Chrome 88 이상
chrome.tabs.group(
  options: object,
  callback?: function,
)

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

매개변수

  • 옵션

    객체

    • createProperties

      객체 선택사항

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

      • windowId

        number 선택사항

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

    • groupId

      number 선택사항

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

    • tabIds

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

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

  • 콜백

    함수 선택사항

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

    (groupId: number)=>void

    • groupId

      숫자

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

반환 값

  • 프로미스<number>

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

highlight()

프로미스
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

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

매개변수

  • highlightInfo

    객체

    • 숫자|숫자[]

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

    • windowId

      number 선택사항

      탭이 포함된 창입니다.

  • 콜백

    함수 선택사항

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

    (window: Window)=>void

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

반환 값

  • 프로미스<windows.Window>

    Chrome 88 이상

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

insertCSS()

프로미스 &leq; MV2 Chrome 91 이후 지원 중단됨
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

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

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

매개변수

  • tabId

    number 선택사항

    CSS를 삽입할 탭의 ID입니다. 기본값은 현재 창의 활성 탭입니다.

  • 세부정보

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

move()

프로미스
chrome.tabs.move(
  tabIds: number|number[],
  moveProperties: object,
  callback?: function,
)

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

매개변수

  • tabIds

    숫자|숫자[]

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

  • moveProperties

    객체

    • 색인

      숫자

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

    • windowId

      number 선택사항

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

  • 콜백

    함수 선택사항

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

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

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

반환 값

  • 프로미스<Tab|[]>

    Chrome 88 이상

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

query()

프로미스
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

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

매개변수

  • queryInfo

    객체

    • 게시 중

      부울 선택사항

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

    • 오더블

      부울 선택사항

      Chrome 45 이상

      탭 청취 가능 여부입니다.

    • autoDiscardable

      부울 선택사항

      Chrome 54 이상

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

    • currentWindow

      부울 선택사항

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

    • 삭제됨

      부울 선택사항

      Chrome 54 이상

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

    • groupId

      number 선택사항

      Chrome 88 이상

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

    • 눈에 띄는 채팅 메시지

      부울 선택사항

      탭 강조 표시 여부

    • 색인

      number 선택사항

      창 내 탭의 위치

    • lastFocusedWindow

      부울 선택사항

      탭이 마지막으로 포커스가 설정된 창에 있는지 여부

    • 음소거

      부울 선택사항

      Chrome 45 이상

      탭의 음소거 여부입니다.

    • 고정됨

      부울 선택사항

      탭 고정 여부입니다.

    • status

      TabStatus 선택사항

      탭 로드 상태입니다.

    • title

      문자열 선택사항

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

    • url

      string|string[] optional

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

    • windowId

      number 선택사항

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

    • windowType

      WindowType (선택사항)

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

  • 콜백

    함수 선택사항

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

    (result: Tab[])=>void

반환 값

  • Promise<Tab[]>

    Chrome 88 이상

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

reload()

프로미스
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

탭을 새로고침합니다.

매개변수

  • tabId

    number 선택사항

    새로고침할 탭의 ID입니다. 기본값은 현재 창에서 선택한 탭으로 설정됩니다.

  • reloadProperties

    객체 선택사항

    • bypassCache

      부울 선택사항

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

remove()

프로미스
chrome.tabs.remove(
  tabIds: number|number[],
  callback?: function,
)

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

매개변수

  • tabIds

    숫자|숫자[]

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

removeCSS()

Promise Chrome 87 이상 &leq; MV2 Chrome 91부터 지원 중단됨
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

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

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

매개변수

  • tabId

    number 선택사항

    CSS를 삭제할 탭의 ID입니다. 기본값은 현재 창의 활성 탭입니다.

  • 세부정보

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

sendMessage()

프로미스
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

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

매개변수

  • tabId

    숫자

  • 메시지

    모두

    전송할 메시지입니다. 이 메시지는 JSON을 적용할 수 있는 객체여야 합니다.

  • 옵션

    객체 선택사항

    • documentId

      문자열 선택사항

      Chrome 106 이상

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

    • frameId

      number 선택사항

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

  • 콜백

    함수 선택사항

    Chrome 99 이상

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

    (response: any)=>void

    • 응답

      모두

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

반환 값

  • 프로미스<any>

    Chrome 99 이상

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

sendRequest()

프로미스 &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()

프로미스
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

    확대/축소할 탭의 ID입니다. 기본값은 현재 창의 활성 탭입니다.

  • zoomFactor

    숫자

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

setZoomSettings()

프로미스
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

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

  • zoomSettings

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 88 이상

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

ungroup()

Promise Chrome 88 이상
chrome.tabs.ungroup(
  tabIds: number|[number,...number[]],
  callback?: function,
)

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

매개변수

  • tabIds

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

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

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

update()

프로미스
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

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

매개변수

  • tabId

    number 선택사항

    기본적으로 현재 창에서 선택된 탭으로 설정됩니다.

  • updateProperties

    객체

    • 게시 중

      부울 선택사항

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

    • autoDiscardable

      부울 선택사항

      Chrome 54 이상

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

    • 눈에 띄는 채팅 메시지

      부울 선택사항

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

    • 음소거

      부울 선택사항

      Chrome 45 이상

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

    • openerTabId

      number 선택사항

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

    • 고정됨

      부울 선택사항

      탭 고정 여부입니다.

    • 선택됨

      부울 선택사항

      지원 중단됨

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

      탭 선택 여부입니다.

    • url

      문자열 선택사항

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

  • 콜백

    함수 선택사항

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

    (tab?: Tab)=>void

    • Tab 선택사항

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

반환 값

  • 프로미스<Tab|undefined>

    Chrome 88 이상

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

이벤트

onActivated

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

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

매개변수

  • 콜백

    기능

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

    (activeInfo: object)=>void

    • activeInfo

      객체

      • tabId

        숫자

        활성화된 탭의 ID입니다.

      • windowId

        숫자

        활성 탭이 내부에 변경되었던 창의 ID입니다.

onActiveChanged

&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

&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

        boolean

        상위 창이 닫혀 탭이 닫힌 경우 true입니다.

      • windowId

        숫자

        탭이 닫힌 창입니다.

onReplaced

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

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

매개변수

  • 콜백

    기능

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

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

    • addedTabId

      숫자

    • removedTabId

      숫자

onSelectionChanged

&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

        number 선택사항

        Chrome 88 이상

        탭의 새 그룹

      • mutedInfo

        MutedInfo(선택사항)

        Chrome 46 이상

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

      • 고정됨

        부울 선택사항

        탭의 새로운 고정 상태입니다.

      • status

        TabStatus 선택사항

        탭의 로드 상태입니다.

      • title

        문자열 선택사항

        Chrome 48 이상

        탭의 새 제목

      • url

        문자열 선택사항

        탭이 변경된 경우 탭의 URL입니다.

onZoomChange

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

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

매개변수

  • 콜백

    기능

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

    (ZoomChangeInfo: object)=>void

    • ZoomChangeInfo

      객체

      • newZoomFactor

        숫자

      • oldZoomFactor

        숫자

      • tabId

        숫자

      • zoomSettings