chrome.omnibox

설명

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

'Chromium 검색' 키워드와 관련된 추천사항을 보여주는 스크린샷

사용자가 확장 프로그램의 키워드를 입력하면 사용자는 확장 프로그램과만 상호작용하기 시작합니다. 각각의 키 입력이 확장 프로그램으로 전송되고 이에 대한 응답으로 제안을 제공할 수 있습니다.

추천은 다양한 방식으로 풍부한 형식을 지정할 수 있습니다. 사용자가 추천을 수락하면 확장 프로그램에 알림이 전송되고 작업을 실행할 수 있습니다.

매니페스트

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

"omnibox"

검색주소창 API를 사용하려면 매니페스트"omnibox.keyword" 입력란을 포함해야 합니다. 또한 사용자에게 키워드 모드로 전환하도록 제안할 때 주소 표시줄에 표시되는 16x16픽셀 아이콘을 지정해야 합니다.

예를 들면 다음과 같습니다.

{
  "name": "Aaron's omnibox extension",
  "version": "1.0",
  "omnibox": { "keyword" : "aaron" },
  "icons": {
    "16": "16-full-color.png"
  },
  "background": {
    "persistent": false,
    "scripts": ["background.js"]
  }
}

이 API를 사용해 보려면 chrome-extension-samples 저장소의 검색주소창 API 예를 설치하세요.

유형

DefaultSuggestResult

제안 검색결과입니다.

속성

  • 설명

    string

    URL 드롭다운에 표시되는 텍스트입니다. 스타일 지정을 위한 XML 스타일 마크업을 포함할 수 있습니다. 지원되는 태그는 'url' (리터럴 URL), 'match' (사용자의 쿼리와 일치하는 텍스트를 강조 표시하는 데 사용) 및 'dim' (도우미 텍스트의 경우 어둡게)입니다. 스타일은 중첩될 수 있습니다(예: 흐리게 표시 일치).

DescriptionStyleType

Chrome 44 이상

스타일 유형입니다.

열거형

OnInputEnteredDisposition

Chrome 44 이상

검색주소창 검색어의 창 처리입니다. 이는 결과를 표시하기 위한 권장되는 컨텍스트입니다. 예를 들어 검색주소창 명령어가 특정 URL로 이동하는 경우 'newForegroundTab'이 배치되면 새로 선택한 탭에서 탐색이 이뤄집니다.

열거형

"currentTab"

"newForegroundTab"

"newBackgroundTab"

SuggestResult

제안 검색결과입니다.

속성

  • 콘텐츠의

    string

    URL 표시줄에 입력되고 사용자가 이 항목을 선택하면 확장 프로그램으로 전송되는 텍스트입니다.

  • 삭제 가능

    부울 선택사항

    Chrome 63 이상

    사용자가 추천 결과를 삭제할 수 있는지 여부입니다.

  • 설명

    string

    URL 드롭다운에 표시되는 텍스트입니다. 스타일 지정을 위한 XML 스타일 마크업을 포함할 수 있습니다. 지원되는 태그는 'url' (리터럴 URL), 'match' (사용자의 쿼리와 일치하는 텍스트를 강조 표시하는 데 사용) 및 'dim' (도우미 텍스트의 경우 어둡게)입니다. 스타일은 중첩될 수 있습니다(예: 흐리게 표시 일치). 사전 정의된 5개 항목을 텍스트로 표시하려면 이스케이프 처리해야 합니다(stackoverflow.com/a/1091953/89484).

방법

setDefaultSuggestion()

프로미스
chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
  callback?: function,
)

기본 제안의 설명 및 스타일을 설정합니다. 기본 추천 검색어는 URL 입력란 아래의 첫 번째 추천 행에 표시되는 텍스트입니다.

매개변수

  • 'content' 매개변수가 없는 부분적인 suggestResult 객체입니다.

  • 콜백

    함수 선택사항

    Chrome 100 이상

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

    ()=>void

반환 값

  • Promise<void>

    Chrome 100 이상

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

이벤트

onDeleteSuggestion

Chrome 63 이상
chrome.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

사용자가 추천 결과를 삭제했습니다.

매개변수

  • 콜백

    기능

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

    (text: string)=>void

    • text

      string

onInputCancelled

chrome.omnibox.onInputCancelled.addListener(
  callback: function,
)

사용자가 입력을 수락하지 않고 키워드 입력 세션을 종료했습니다.

매개변수

  • 콜백

    기능

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

    ()=>void

onInputChanged

chrome.omnibox.onInputChanged.addListener(
  callback: function,
)

사용자가 검색창에 입력한 내용을 변경했습니다.

매개변수

  • 콜백

    기능

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

    (text: string,suggest: function)=>void

    • text

      string

    • suggest

      기능

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

      (suggestResults: SuggestResult[])=>void

onInputEntered

chrome.omnibox.onInputEntered.addListener(
  callback: function,
)

사용자가 검색창에 입력된 내용을 수락했습니다.

매개변수

onInputStarted

chrome.omnibox.onInputStarted.addListener(
  callback: function,
)

사용자가 광고 확장의 키워드를 입력하여 키워드 입력 세션을 시작했습니다. 입력 세션당 정확히 한 번, 모든 onInputChanged 이벤트 전에 전송됩니다.

매개변수

  • 콜백

    기능

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

    ()=>void