chrome.omnibox

설명

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

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

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

추천은 다양한 방식으로 풍부하게 서식을 지정할 수 있습니다. 사용자가 제안을 수락하면 확장 프로그램에 알림이 전송되고 확장 프로그램이 조치를 취할 수 있습니다.

매니페스트

이 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 저장소에서 omnibox API example을 설치하세요.

유형

DefaultSuggestResult

추천 결과입니다.

속성

  • 설명

    문자열

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

DescriptionStyleType

Chrome 44 이상

스타일 유형입니다.

열거형

"url"

'match'

"dim"

OnInputEnteredDisposition

Chrome 44 이상

검색주소창 쿼리의 창 처리입니다. 결과를 표시하는 데 권장되는 컨텍스트입니다. 예를 들어 옴니박스 명령어가 특정 URL로 이동하는 경우 'newForegroundTab' 처분은 선택된 새 탭에서 탐색이 이루어져야 함을 의미합니다.

열거형

'currentTab'

"newForegroundTab"

"newBackgroundTab"

SuggestResult

추천 결과입니다.

속성

  • 콘텐츠

    문자열

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

  • 삭제 가능

    불리언 선택사항

    Chrome 63 이상

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

  • 설명

    문자열

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

메서드

setDefaultSuggestion()

chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
)
: Promise<void>

기본 추천의 설명과 스타일을 설정합니다. 기본 추천은 URL 표시줄 아래의 첫 번째 추천 행에 표시되는 텍스트입니다.

매개변수

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

반환 값

  • Promise<void>

    Chrome 100 이상

이벤트

onDeleteSuggestion

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

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

매개변수

  • callback

    함수

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

    (text: string) => void

    • 텍스트

      문자열

onInputCancelled

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

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

매개변수

  • callback

    함수

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

    () => void

onInputChanged

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

사용자가 옴니박스에 입력한 내용을 변경했습니다.

매개변수

  • callback

    함수

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

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

    • 텍스트

      문자열

    • suggest

      함수

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

      (suggestResults: SuggestResult[]) => void

onInputEntered

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

사용자가 옴니박스에 입력된 내용을 수락했습니다.

매개변수

onInputStarted

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

사용자가 확장 프로그램의 키워드를 입력하여 키워드 입력 세션을 시작했습니다. 이는 입력 세션당 정확히 한 번 전송되며 onInputChanged 이벤트 전에 전송됩니다.

매개변수

  • callback

    함수

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

    () => void