chrome.action

설명

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

작업 아이콘은 검색주소창 옆의 브라우저 툴바에 표시됩니다. 설치가 끝나면 확장 프로그램 메뉴 (퍼즐 조각 아이콘)에 표시됩니다. 사용자는 확장 프로그램 아이콘을 툴바에 고정할 수 있습니다.

지원 대상

Chrome 88 이상 MV3 이상

매니페스트

이 API를 사용하려면 매니페스트에서 다음 키를 선언해야 합니다.

"action"

chrome.action API를 사용하려면 3"manifest_version"를 지정하고 매니페스트 파일"action" 키를 포함합니다.

{
  "name": "Action Extension",
  ...
  "action": {
    "default_icon": {              // optional
      "16": "images/icon16.png",   // optional
      "24": "images/icon24.png",   // optional
      "32": "images/icon32.png"    // optional
    },
    "default_title": "Click Me",   // optional, shown in tooltip
    "default_popup": "popup.html"  // optional
  },
  ...
}

"action" 키 (하위 요소 포함)는 선택사항입니다. 확장 프로그램이 포함되어 있지 않더라도 확장 프로그램이 툴바에 계속 표시되어 확장 프로그램의 메뉴에 액세스할 수 있습니다. 이러한 이유로 항상 "action""default_icon" 키는 포함하는 것이 좋습니다.

개념 및 사용법

UI 요소

icon

아이콘은 확장 프로그램의 툴바에 있는 기본 이미지이며 매니페스트의 "action" 키에 있는 "default_icon" 키로 설정됩니다. 아이콘은 가로와 세로가 16개의 기기 독립형 픽셀 (DIP)이어야 합니다.

"default_icon" 키는 이미지 경로의 크기 사전입니다. Chrome은 이러한 아이콘을 사용하여 사용할 이미지 크기를 선택합니다 정확히 일치하는 항목이 없으면 Chrome은 사용 가능한 가장 근접한 항목을 선택하고 이미지에 맞게 배율을 조정하므로 이미지 품질에 영향을 미칠 수 있습니다.

1.5x 또는 1.2x와 같이 덜 일반적인 배율을 사용하는 기기가 점점 더 보편화되고 있으므로 아이콘에 여러 크기를 제공하는 것이 좋습니다. 이렇게 하면 향후 확장 프로그램이 잠재적인 아이콘 표시 크기가 변경되지 않도록 방지할 수 있습니다.

또한 다른 이미지 경로를 지정하거나 HTML 캔버스 요소 또는 확장 프로그램 서비스 워커에서 설정하는 경우 오프스크린 캔버스 API를 사용하여 동적으로 생성된 아이콘을 제공하여 action.setIcon()를 호출하여 확장 프로그램의 아이콘을 프로그래매틱 방식으로 설정할 수 있습니다.

const canvas = new OffscreenCanvas(16, 16);
const context = canvas.getContext('2d');
context.clearRect(0, 0, 16, 16);
context.fillStyle = '#00FF00';  // Green
context.fillRect(0, 0, 16, 16);
const imageData = context.getImageData(0, 0, 16, 16);
chrome.action.setIcon({imageData: imageData}, () => { /* ... */ });

압축된 확장 프로그램(.crx 파일에서 설치됨)의 경우 이미지는 Blink 렌더링 엔진에서 표시할 수 있는 PNG, JPEG, BMP, ICO 등 대부분의 형식일 수 있습니다. SVG는 지원되지 않습니다. 압축해제된 확장 프로그램은 PNG 이미지를 사용해야 합니다.

도움말 (제목)

도움말 또는 제목은 사용자가 툴바의 확장 프로그램 아이콘 위로 마우스 포인터를 가져가면 표시됩니다. 버튼에 포커스가 있을 때 스크린 리더가 말하는 액세스 가능한 텍스트에도 포함됩니다.

기본 도움말은 manifest.json에서 "action" 키의 "default_title" 필드를 사용하여 설정됩니다. action.setTitle()를 호출하여 프로그래매틱 방식으로 설정할 수도 있습니다.

배지

작업에서는 아이콘 위에 표시되는 짧은 텍스트인 '배지'를 선택적으로 표시할 수 있습니다. 이렇게 하면 카운터와 같이 확장 프로그램의 상태에 관한 소량의 정보를 표시하도록 작업을 업데이트할 수 있습니다. 배지에는 텍스트 구성요소와 배경 색상이 있습니다. 공간이 제한되어 있으므로 배지 텍스트는 4자 이하를 사용하는 것이 좋습니다.

배지를 만들려면 action.setBadgeBackgroundColor()action.setBadgeText()를 호출하여 프로그래매틱 방식으로 배지를 설정합니다. 매니페스트에 기본 배지 설정이 없습니다. 배지 색상 값은 배지의 RGBA 색상을 구성하는 0과 255 사이의 정수 4개로 구성된 배열이거나 CSS 색상 값이 포함된 문자열입니다.

chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},  // Green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: '#00FF00'},  // Also green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: 'green'},  // Also, also green
  () => { /* ... */ },
);

사용자가 툴바에서 확장 프로그램의 작업 버튼을 클릭하면 작업 팝업이 표시됩니다. 팝업에는 원하는 HTML 콘텐츠가 포함될 수 있으며 팝업의 콘텐츠에 맞게 크기가 자동으로 조정됩니다. 팝업 크기는 25x25픽셀에서 800x600픽셀 사이여야 합니다.

팝업은 처음에 manifest.json 파일의 "action" 키에 있는 "default_popup" 속성으로 설정됩니다. 이 속성이 있는 경우 확장 프로그램 디렉터리 내의 상대 경로를 가리켜야 합니다. action.setPopup() 메서드를 사용하여 다른 상대 경로를 가리키도록 동적으로 업데이트할 수도 있습니다.

사용 사례

탭별 상태

확장 프로그램 작업은 탭마다 다른 상태를 가질 수 있습니다. 개별 탭의 값을 설정하려면 action API의 설정 메서드에서 tabId 속성을 사용합니다. 예를 들어 특정 탭의 배지 텍스트를 설정하려면 다음과 같이 합니다.

function getTabId() { /* ... */}
function getTabBadge() { /* ... */}

chrome.action.setBadgeText(
  {
    text: getTabBadge(tabId),
    tabId: getTabId(),
  },
  () => { ... }
);

tabId 속성을 생략하면 설정이 전역 설정으로 처리됩니다. 탭별 설정이 전체 설정보다 우선합니다.

사용 설정된 상태

기본적으로 툴바 작업은 모든 탭에서 사용 (클릭 가능)되어 있습니다. action.enable()action.disable() 메서드를 사용하여 이를 제어할 수 있습니다. 이는 팝업 (있는 경우) 또는 action.onClicked 이벤트가 확장 프로그램에 전송되는지 여부에만 영향을 미치며 툴바에 작업이 있는지에는 영향을 미치지 않습니다.

다음 예는 작업이 확장 프로그램에서 사용되는 일반적인 방법을 보여줍니다. 이 API를 사용해 보려면 chrome-extension-samples 저장소의 Action API 예시를 설치하세요.

팝업 표시

일반적으로 사용자가 확장 프로그램의 작업을 클릭할 때 확장 프로그램에서 팝업을 표시합니다. 자체 확장 프로그램에서 이를 구현하려면 manifest.json에서 팝업을 선언하고 Chrome에서 팝업에 표시해야 하는 콘텐츠를 지정합니다.

// manifest.json
{
  "name": "Action popup demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to view a popup",
    "default_popup": "popup.html"
  }
}
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
  <style>
    html {
      min-height: 5em;
      min-width: 10em;
      background: salmon;
    }
  </style>
</head>
<body>
  <p>Hello, world!</p>
</body>
</html>

클릭 시 콘텐츠 스크립트 삽입

확장 프로그램의 일반적인 패턴은 확장 프로그램의 작업을 사용하여 기본 기능을 노출하는 것입니다. 다음 예는 이 패턴을 보여줍니다. 사용자가 작업을 클릭하면 확장 프로그램이 콘텐츠 스크립트를 현재 페이지에 삽입합니다. 그러면 콘텐츠 스크립트에서 알림을 표시하여 모든 것이 예상대로 작동했는지 확인합니다.

// manifest.json
{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}
// background.js
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
// content.js
alert('Hello, world!');

declarativeContent로 작업 에뮬레이션

이 예에서는 확장 프로그램의 백그라운드 로직이 (a) 기본적으로 작업을 사용 중지하고 (b) declarativeContent를 사용하여 특정 사이트에서 작업을 사용 설정하는 방법을 보여줍니다.

// service-worker.js

// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
chrome.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  chrome.action.disable();

  // Clear all rules to ensure only our expected rules are set
  chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
    // Declare a rule to enable the action on example.com pages
    let exampleRule = {
      conditions: [
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: {hostSuffix: '.example.com'},
        })
      ],
      actions: [new chrome.declarativeContent.ShowAction()],
    };

    // Finally, apply our new array of rules
    let rules = [exampleRule];
    chrome.declarativeContent.onPageChanged.addRules(rules);
  });
});

유형

OpenPopupOptions

Chrome 99 이상

속성

  • windowId

    number 선택사항

    작업 팝업을 열 창의 ID입니다. 지정되지 않은 경우 기본값은 현재 활성 기간입니다.

TabDetails

속성

  • tabId

    number 선택사항

    상태를 쿼리할 탭의 ID입니다. 탭을 지정하지 않으면 탭이 지정되지 않은 상태가 반환됩니다.

UserSettings

Chrome 91 이상

확장 프로그램의 작업과 관련된 사용자가 지정한 설정 모음입니다.

속성

  • isOnToolbar

    boolean

    브라우저 창의 최상위 툴바에 확장 프로그램의 작업 아이콘을 표시할지 여부 (예: 사용자가 확장 프로그램을 '고정'했는지 여부)입니다.

방법

disable()

프로미스
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

탭에 대한 작업을 사용 중지합니다.

매개변수

  • tabId

    number 선택사항

    작업을 수정하려는 탭의 ID입니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

enable()

프로미스
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

탭에 대한 작업을 사용 설정합니다. 작업은 기본적으로 사용 설정되어 있습니다.

매개변수

  • tabId

    number 선택사항

    작업을 수정하려는 탭의 ID입니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

getBadgeBackgroundColor()

프로미스
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

작업의 배경 색상을 가져옵니다.

매개변수

반환 값

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

getBadgeText()

프로미스
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

액션의 배지 텍스트를 가져옵니다. 탭을 지정하지 않으면 탭이 지정되지 않은 배지 텍스트가 반환됩니다. displayActionCountAsBadgeText가 사용 설정된 경우 declarativeNetRequestFeedback 권한이 있거나 탭별 배지 텍스트가 제공되지 않은 경우 자리표시자 텍스트가 반환됩니다.

매개변수

  • 세부정보
  • 콜백

    함수 선택사항

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

    (result: string)=>void

    • 결과

      문자열

반환 값

  • 프로미스<string>

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

getBadgeTextColor()

Promise Chrome 110 이상
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

작업의 텍스트 색상을 가져옵니다.

매개변수

반환 값

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

getPopup()

프로미스
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

이 작업의 팝업으로 설정된 html 문서를 가져옵니다.

매개변수

  • 세부정보
  • 콜백

    함수 선택사항

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

    (result: string)=>void

    • 결과

      문자열

반환 값

  • 프로미스<string>

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

getTitle()

프로미스
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

작업의 제목을 가져옵니다.

매개변수

  • 세부정보
  • 콜백

    함수 선택사항

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

    (result: string)=>void

    • 결과

      문자열

반환 값

  • 프로미스<string>

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

getUserSettings()

Promise Chrome 91 이상
chrome.action.getUserSettings(
  callback?: function,
)

확장 프로그램의 작업과 관련된 사용자 지정 설정을 반환합니다.

매개변수

  • 콜백

    함수 선택사항

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

    (userSettings: UserSettings)=>void

반환 값

  • Promise<UserSettings>

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

isEnabled()

Promise Chrome 110 이상
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

확장 프로그램 작업이 탭에 사용 설정되었는지 또는 tabId가 제공되지 않으면 전역적으로 사용 설정되었는지를 나타냅니다. declarativeContent만 사용하여 사용 설정된 작업은 항상 false를 반환합니다.

매개변수

  • tabId

    number 선택사항

    사용 설정 상태를 확인할 탭의 ID입니다.

  • 콜백

    함수 선택사항

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

    (isEnabled: boolean)=>void

    • isEnabled

      boolean

      확장 프로그램 작업이 사용 설정된 경우 true입니다.

반환 값

  • Promise<boolean>

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

openPopup()

프로미스 Chrome 118 이상 정책 필요
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

확장 프로그램의 팝업을 엽니다.

매개변수

  • 옵션

    OpenPopupOptions 선택사항

    팝업을 열기 위한 옵션을 지정합니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

setBadgeBackgroundColor()

프로미스
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

배지의 배경 색상을 설정합니다.

매개변수

  • 세부정보

    객체

    • 색상

      문자열|ColorArray

      배지의 RGBA 색상을 구성하는 [0,255] 범위의 정수 4개로 구성된 배열입니다. 예를 들어 불투명한 빨간색은 [255, 0, 0, 255]입니다. CSS 값이 있는 문자열일 수도 있으며, 불투명한 빨간색은 #FF0000 또는 #F00입니다.

    • tabId

      number 선택사항

      특정 탭을 선택한 경우로 변경을 제한합니다. 탭을 닫으면 자동으로 재설정됩니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

setBadgeText()

프로미스
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

작업의 배지 텍스트를 설정합니다. 배지는 아이콘 위에 표시됩니다.

매개변수

  • 세부정보

    객체

    • tabId

      number 선택사항

      특정 탭을 선택한 경우로 변경을 제한합니다. 탭을 닫으면 자동으로 재설정됩니다.

    • text

      문자열 선택사항

      전달할 수 있는 문자의 수에는 제한이 없지만 공백에는 약 4자 정도만 넣을 수 있습니다. 빈 문자열 ('')이 전달되면 배지 텍스트가 지워집니다. tabId가 지정되고 text이 null이면 지정된 탭의 텍스트가 지워지고 기본적으로 글로벌 배지 텍스트가 설정됩니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

setBadgeTextColor()

Promise Chrome 110 이상
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

배지의 텍스트 색상을 설정합니다.

매개변수

  • 세부정보

    객체

    • 색상

      문자열|ColorArray

      배지의 RGBA 색상을 구성하는 [0,255] 범위의 정수 4개로 구성된 배열입니다. 예를 들어 불투명한 빨간색은 [255, 0, 0, 255]입니다. CSS 값이 있는 문자열일 수도 있으며, 불투명한 빨간색은 #FF0000 또는 #F00입니다. 이 값을 설정하지 않으면 배지의 배경색과 대비되는 색상이 자동으로 선택되어 텍스트가 표시됩니다. 알파 값이 0인 색상은 설정되지 않으며 오류를 반환합니다.

    • tabId

      number 선택사항

      특정 탭을 선택한 경우로 변경을 제한합니다. 탭을 닫으면 자동으로 재설정됩니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

setIcon()

프로미스
chrome.action.setIcon(
  details: object,
  callback?: function,
)

작업 아이콘을 설정합니다. 아이콘은 이미지 파일의 경로나 캔버스 요소의 픽셀 데이터 또는 이 중 하나의 사전으로 지정할 수 있습니다. path 또는 imageData 속성을 지정해야 합니다.

매개변수

  • 세부정보

    객체

    • imageData

      ImageData|object 선택사항

      설정할 아이콘을 나타내는 ImageData 객체 또는 사전 {size -> ImageData}입니다. 아이콘이 사전으로 지정된 경우 사용되는 실제 이미지가 화면의 픽셀 밀도에 따라 선택됩니다. 하나의 화면 공간 단위에 들어가는 이미지 픽셀의 수가 scale와 같으면 크기가 scale * n인 이미지가 선택됩니다. 여기서 n은 UI의 아이콘 크기입니다. 이미지를 하나 이상 지정해야 합니다. 'details.imageData = foo'는 'details.imageData = {'16': foo}'와 동일합니다.

    • 경로

      문자열|객체 선택사항

      설정할 아이콘을 가리키는 상대 이미지 경로 또는 사전 {크기 -> 상대 이미지 경로}입니다. 아이콘이 사전으로 지정된 경우 사용되는 실제 이미지가 화면의 픽셀 밀도에 따라 선택됩니다. 하나의 화면 공간 단위에 들어가는 이미지 픽셀의 수가 scale와 같으면 크기가 scale * n인 이미지가 선택됩니다. 여기서 n은 UI의 아이콘 크기입니다. 이미지를 하나 이상 지정해야 합니다. 'details.path = foo'는 'details.path = {'16': foo}'와 동일합니다.

    • tabId

      number 선택사항

      특정 탭을 선택한 경우로 변경을 제한합니다. 탭을 닫으면 자동으로 재설정됩니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 96 이상

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

setPopup()

프로미스
chrome.action.setPopup(
  details: object,
  callback?: function,
)

사용자가 작업의 아이콘을 클릭하면 HTML 문서가 팝업으로 열리도록 설정합니다.

매개변수

  • 세부정보

    객체

    • 팝업

      문자열

      팝업에 표시할 HTML 파일의 상대 경로입니다. 빈 문자열 ('')로 설정하면 팝업이 표시되지 않습니다.

    • tabId

      number 선택사항

      특정 탭을 선택한 경우로 변경을 제한합니다. 탭을 닫으면 자동으로 재설정됩니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

setTitle()

프로미스
chrome.action.setTitle(
  details: object,
  callback?: function,
)

작업의 제목을 설정합니다. 이는 도움말에 표시됩니다.

매개변수

  • 세부정보

    객체

    • tabId

      number 선택사항

      특정 탭을 선택한 경우로 변경을 제한합니다. 탭을 닫으면 자동으로 재설정됩니다.

    • title

      문자열

      마우스를 가져가면 작업이 표시되어야 하는 문자열입니다.

  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

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

이벤트

onClicked

chrome.action.onClicked.addListener(
  callback: function,
)

작업 아이콘을 클릭하면 실행됩니다. 작업에 팝업이 표시되는 경우 이 이벤트가 실행되지 않습니다.

매개변수

  • 콜백

    기능

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

    (tab: tabs.Tab)=>void