āĻŦāϰā§āĻŖāύāĻž
omnibox API āĻāĻĒāύāĻžāĻā§ Google Chrome āĻāϰ āĻ āĻŋāĻāĻžāύāĻž āĻĻāĻŖā§āĻĄā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āύāĻŋāĻŦāύā§āϧāύ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ, āϝāĻž omnibox āύāĻžāĻŽā§āĻ āĻĒāϰāĻŋāĻāĻŋāϤāĨ¤
āϝāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻĒāύāĻžāϰ āĻāĻā§āϏāĻā§āύāĻļāύā§āϰ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒā§āϰāĻŦā§āĻļ āĻāϰā§, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻĒāύāĻžāϰ āĻāĻā§āϏāĻā§āύāĻļāύā§āϰ āϏāĻžāĻĨā§ āĻāύā§āĻāĻžāϰāĻ ā§āϝāĻžāĻā§āĻ āĻāϰāϤ⧠āĻļā§āϰ⧠āĻāϰā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻā§āϏā§āĻā§āϰā§āĻ āĻāĻĒāύāĻžāϰ āĻāĻā§āϏāĻā§āύāĻļāύ⧠āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧ āĻāĻŦāĻ āĻāĻĒāύāĻŋ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻĒāϰāĻžāĻŽāϰā§āĻļāĻā§āϞāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻĒāĻžāϝāĻŧā§ āϏāĻŽā§āĻĻā§āϧāĻāĻžāĻŦā§ āĻĢāϰā§āĻŽā§āϝāĻžāĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āϝāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻāĻāĻŋ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻā§āϰāĻšāĻŖ āĻāϰā§, āϤāĻāύ āĻāĻĒāύāĻžāϰ āĻāĻā§āϏāĻā§āύāĻļāύāĻā§ āĻ āĻŦāĻšāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ āĻĒāĻĻāĻā§āώā§āĻĒ āύāĻŋāϤ⧠āĻĒāĻžāϰā§ā§ˇ
āĻāĻĻā§āĻāĻžāϏāĻŋāϤ
āĻāĻ API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻā§āĻā§āϞāĻŋ āĻ āĻŦāĻļā§āϝāĻ āĻŽā§āϝāĻžāύāĻŋāĻĢā§āϏā§āĻā§ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻšāĻŦā§ā§ˇ
"omnibox"
omnibox API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻŽā§āϝāĻžāύāĻŋāĻĢā§āϏā§āĻā§ āĻāĻāĻāĻŋ "omnibox.keyword"
āĻā§āώā§āϤā§āϰ āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰāϤ⧠āĻšāĻŦā§ā§ˇ āĻāĻĒāύāĻžāϰ āĻāĻāĻāĻŋ 16 āĻŦāĻžāĻ 16-āĻĒāĻŋāĻā§āϏā§āϞ āĻāĻāĻāύāĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāĻž āĻāĻāĻŋāϤ, āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻŽā§āĻĄā§ āĻĒā§āϰāĻŦā§āĻļ āĻāϰāĻžāϰ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻā§āĻāϝāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ āĻ āĻŋāĻāĻžāύāĻž āĻŦāĻžāϰ⧠āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻšāĻŦā§āĨ¤
āϝā§āĻŽāύ:
{
"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 repository āĻĨā§āĻā§ omnibox API āĻāĻĻāĻžāĻšāϰāĻŖāĻāĻŋ āĻāύāϏā§āĻāϞ āĻāϰā§āύ⧎
āĻĒā§āϰāĻāĻžāϰāĻā§āĻĻ
DefaultSuggestResult
āĻāĻāĻāĻŋ āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻĢāϞāĻžāĻĢāϞ.
āĻŦā§āĻļāĻŋāώā§āĻā§āϝ
- āĻŦāϰā§āĻŖāύāĻž
āϏā§āĻā§āϰāĻŋāĻ
URL āĻĄā§āϰāĻĒāĻĄāĻžāĻāύ⧠āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻĒāĻžāĻ ā§āϝāĨ¤ āϏā§āĻāĻžāĻāϞāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ XML-āϏā§āĻāĻžāĻāϞ āĻŽāĻžāϰā§āĻāĻāĻĒ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻā§āϝāĻžāĻāĻā§āϞāĻŋ āĻšāϞ 'url' (āĻāĻāĻāĻŋ āĻāĻā§āώāϰāĻŋāĻ āĻāĻāĻāϰāĻāϞā§āϰ āĻāύā§āϝ), 'āĻŽā§āϝāĻžāĻ' (āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻĒā§āϰāĻļā§āύā§āϰ āϏāĻžāĻĨā§ āĻŽā§āϞ⧠āĻāĻŽāύ āĻĒāĻžāĻ ā§āϝ āĻšāĻžāĻāϞāĻžāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ), āĻāĻŦāĻ 'āĻĄāĻŋāĻŽ' (āĻ āϏā§āĻĒāώā§āĻ āϏāĻšāĻžāϝāĻŧāĻ āĻĒāĻžāĻ ā§āϝā§āϰ āĻāύā§āϝ)āĨ¤ āĻļā§āϞ⧠āύā§āϏā§āĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āϝā§āĻŽāύ. āĻŽā§āϞāĻžāύ āĻŽā§āϝāĻžāĻ
DescriptionStyleType
āĻļā§āϞā§āϰ āϧāϰāύāĨ¤
āĻāύāĻžāĻŽ
"url"
"āĻŽāĻŋāϞ"
"āĻ
āϏā§āĻĒāώā§āĻ"
OnInputEnteredDisposition
āĻ āĻŽā§āύāĻŋāĻŦāĻā§āϏ āĻā§āϝāĻŧā§āϰāĻŋāϰ āĻāύā§āϝ āĻāĻāύā§āĻĄā§ āĻĄāĻŋāϏāĻĒā§āĻāĻŋāĻļāύāĨ¤ āĻāĻāĻŋ āĻĢāϞāĻžāĻĢāϞ āĻĒā§āϰāĻĻāϰā§āĻļāύā§āϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻĒā§āϰāϏāĻā§āĻāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖ āϏā§āĻŦāϰā§āĻĒ, āϝāĻĻāĻŋ omnibox āĻāĻŽāĻžāύā§āĻĄ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ URL-āĻ āύā§āĻāĻŋāĻā§āĻ āĻāϰāϤ⧠āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠'newForegroundTab'-āĻāϰ āĻāĻāĻāĻŋ āϏā§āĻŦāĻāĻžāĻŦ āĻŽāĻžāύ⧠āύā§āĻāĻŋāĻā§āĻļāύ āĻāĻāĻāĻŋ āύāϤā§āύ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻā§āϝāĻžāĻŦā§ āϏāĻā§āĻāĻžāϞāĻŋāϤ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤāĨ¤
āĻāύāĻžāĻŽ
"āĻŦāϰā§āϤāĻŽāĻžāύ āĻā§āϝāĻžāĻŦ"
"āύāϤā§āύ āĻĢā§āϰāĻā§āϰāĻžāĻāύā§āĻĄāĻā§āϝāĻžāĻŦ"
"āύāϤā§āύ āĻŦā§āϝāĻžāĻāĻā§āϰāĻžāĻāύā§āĻĄāĻā§āϝāĻžāĻŦ"
SuggestResult
āĻāĻāĻāĻŋ āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻĢāϞāĻžāĻĢāϞ.
āĻŦā§āĻļāĻŋāώā§āĻā§āϝ
- āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§
āϏā§āĻā§āϰāĻŋāĻ
āϝ⧠āĻĒāĻžāĻ ā§āϝāĻāĻŋ URL āĻŦāĻžāϰ⧠āϰāĻžāĻāĻž āĻšāϝāĻŧ āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āϝāĻāύ āĻāĻ āĻāύā§āĻā§āϰāĻŋāĻāĻŋ āĻŦā§āĻā§ āύā§āϝāĻŧ āϤāĻāύ āϏā§āĻāĻŋ āĻāĻā§āϏāĻā§āύāĻļāύ⧠āĻĒāĻžāĻ āĻžāύ⧠āĻšāϝāĻŧāĨ¤
- āĻ āĻĒāϏāĻžāϰāĻŖāϝā§āĻā§āϝ
āĻŦā§āϞāĻŋāϝāĻŧāĻžāύ āĻāĻā§āĻāĻŋāĻ
Chrome 63+āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻĢāϞāĻžāĻĢāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻĻā§āĻŦāĻžāϰāĻž āĻŽā§āĻā§ āĻĢā§āϞāĻž āϝāĻžāĻŦā§ āĻāĻŋāύāĻžāĨ¤
- āĻŦāϰā§āĻŖāύāĻž
āϏā§āĻā§āϰāĻŋāĻ
URL āĻĄā§āϰāĻĒāĻĄāĻžāĻāύ⧠āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻĒāĻžāĻ ā§āϝāĨ¤ āϏā§āĻāĻžāĻāϞāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ XML-āϏā§āĻāĻžāĻāϞ āĻŽāĻžāϰā§āĻāĻāĻĒ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻā§āϝāĻžāĻāĻā§āϞāĻŋ āĻšāϞ 'url' (āĻāĻāĻāĻŋ āĻāĻā§āώāϰāĻŋāĻ āĻāĻāĻāϰāĻāϞā§āϰ āĻāύā§āϝ), 'āĻŽā§āϝāĻžāĻ' (āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻĒā§āϰāĻļā§āύā§āϰ āϏāĻžāĻĨā§ āĻŽā§āϞ⧠āĻāĻŽāύ āĻĒāĻžāĻ ā§āϝ āĻšāĻžāĻāϞāĻžāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ), āĻāĻŦāĻ 'āĻĄāĻŋāĻŽ' (āĻ āϏā§āĻĒāώā§āĻ āϏāĻšāĻžāϝāĻŧāĻ āĻĒāĻžāĻ ā§āϝā§āϰ āĻāύā§āϝ)āĨ¤ āĻļā§āϞ⧠āύā§āϏā§āĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āϝā§āĻŽāύ. āĻŽā§āϞāĻžāύ āĻŽā§āϝāĻžāĻ āĻĒāĻžāĻ ā§āϝ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ āĻĒāĻžāĻāĻāĻāĻŋ āĻĒā§āϰā§āĻŦāύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ āϏāϤā§āϤāĻž āĻĨā§āĻā§ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻšāĻŦā§: stackoverflow.com/a/1091953/89484
āĻĒāĻĻā§āϧāϤāĻŋ
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
): Promise<void>
āĻĄāĻŋāĻĢāϞā§āĻ āϏāĻžāĻā§āĻļāύā§āϰ āĻāύā§āϝ āĻŦāϰā§āĻŖāύāĻž āĻāĻŦāĻ āϏā§āĻāĻžāĻāϞāĻŋāĻ āϏā§āĻ āĻāϰā§āĨ¤ āĻĄāĻŋāĻĢāϞā§āĻ āϏāĻžāĻā§āĻļāύ āĻšāϞ āϏā§āĻ āĻā§āĻā§āϏāĻ āϝāĻž URL āĻŦāĻžāϰā§āϰ āύā§āĻā§ āĻĒā§āϰāĻĨāĻŽ āϏāĻžāĻā§āĻļāύ āϏāĻžāϰāĻŋāϤ⧠āĻĒā§āϰāĻĻāϰā§āĻļāĻŋāϤ āĻšāϝāĻŧāĨ¤
āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ
- āĻĒāϰāĻžāĻŽāϰā§āĻļ
āĻāĻāĻāĻŋ āĻāĻāĻļāĻŋāĻ SuggestResult āĻ āĻŦāĻā§āĻā§āĻ, 'āϏāĻžāĻŽāĻā§āϰā§' āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻāĻžāĻĄāĻŧāĻžāĨ¤
āϰāĻŋāĻāĻžāϰā§āύāϏ
āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋ <void>
Chrome 100+
āĻāĻāύāĻž
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻāĻāĻŋ āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻĢāϞāĻžāĻĢāϞ āĻŽā§āĻā§ āĻĻāĻŋāϝāĻŧā§āĻā§āύ.
āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ
- āĻāϞāĻŦā§āϝāĻžāĻ
āĻĢāĻžāĻāĻļāύ
callback
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻāϰ āĻŽāϤ⧠āĻĻā§āĻāĻžāĻā§āĻā§:(text: string) => void
- āĻĒāĻžāĻ ā§āϝ
āϏā§āĻā§āϰāĻŋāĻ
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāύāĻĒā§āĻ āĻā§āϰāĻšāĻŖ āύāĻž āĻāϰā§āĻ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻāύāĻĒā§āĻ āϏā§āĻļāύ āĻļā§āώ āĻāϰā§āĻā§āĨ¤
āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ
- āĻāϞāĻŦā§āϝāĻžāĻ
āĻĢāĻžāĻāĻļāύ
callback
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻāϰ āĻŽāϤ⧠āĻĻā§āĻāĻžāĻā§āĻā§:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
āĻŦāĻšā§āĻāĻĒāϝā§āĻā§ āĻā§āώā§āϤā§āϰ⧠āϝāĻž āĻāĻžāĻāĻĒ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āĻā§āĨ¤
āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ
- āĻāϞāĻŦā§āϝāĻžāĻ
āĻĢāĻžāĻāĻļāύ
callback
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻāϰ āĻŽāϤ⧠āĻĻā§āĻāĻžāĻā§āĻā§:(text: string, suggest: function) => void
- āĻĒāĻžāĻ ā§āϝ
āϏā§āĻā§āϰāĻŋāĻ
- āĻĒāϰāĻžāĻŽāϰā§āĻļ
āĻĢāĻžāĻāĻļāύ
suggest
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻāϰ āĻŽāϤ⧠āĻĻā§āĻāĻžāĻā§āĻā§:(suggestResults: SuggestResult[]) => void
- āĻĢāϞāĻžāĻĢāϞ āĻĒā§āϰāϏā§āϤāĻžāĻŦ
āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻĢāϞāĻžāĻĢāϞā§āϰ āĻ ā§āϝāĻžāϰā§
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
āĻŦāĻšā§āĻāĻĒāϝā§āĻā§ āĻā§āώā§āϤā§āϰāĻāĻŋāϤ⧠āϝāĻž āĻāĻžāĻāĻĒ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻā§āϰāĻšāĻŖ āĻāϰā§āĻā§āύāĨ¤
āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ
- āĻāϞāĻŦā§āϝāĻžāĻ
āĻĢāĻžāĻāĻļāύ
callback
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻāϰ āĻŽāϤ⧠āĻĻā§āĻāĻžāĻā§āĻā§:(text: string, disposition: OnInputEnteredDisposition) => void
- āĻĒāĻžāĻ ā§āϝ
āϏā§āĻā§āϰāĻŋāĻ
- āϏā§āĻŦāĻāĻžāĻŦ
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻā§āϏāĻā§āύāĻļāύā§āϰ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻāĻžāĻāĻĒ āĻāϰ⧠āĻāĻāĻāĻŋ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻāύāĻĒā§āĻ āϏā§āĻļāύ āĻļā§āϰ⧠āĻāϰā§āĻā§āĨ¤ āĻĒā§āϰāϤāĻŋ āĻāύāĻĒā§āĻ āϏā§āĻļāύ⧠āĻāĻŦāĻ āϝā§āĻā§āύ⧠onInputChanged āĻāĻā§āύā§āĻā§āϰ āĻāĻā§ āĻāĻāĻŋ āĻāĻāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāύā§āϰ āύāĻŋāĻļā§āĻāϝāĻŧāϤāĻžāĨ¤
āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ
- āĻāϞāĻŦā§āϝāĻžāĻ
āĻĢāĻžāĻāĻļāύ
callback
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻāĻŋ āĻāϰ āĻŽāϤ⧠āĻĻā§āĻāĻžāĻā§āĻā§:() => void