Итак, я пытаюсь создать простое расширение Omnibox для Chrome для личного использования. Он работает, как и любое другое расширение Omnibox: вы вводите ключевое слово расширения и нажимаете вкладку, которая дает управление расширением omnibox. Затем вы вводите фразу или еще что-то, и список подсказок появляется под омнибокс. Затем вы можете использовать клавиши со стрелками или мышь, чтобы выбрать предложение, а затем браузер перейдет на страницу, связанную с этим предложением. Все это прекрасно работает.Google Chrome Omnibox API - автоматически выбирает первый вариант при вводе
Однако, что бы я хотел сделать, так это то, что когда я нажимаю кнопку ввода, не выбирая предложение, я бы хотел, чтобы браузер перешел к первому предложению из списка предложений. Вместо этого, что происходит прямо сейчас, я получаю эту страницу с ошибкой: http://cl.ly/Pn0F/omnnibox.PNG
В документации по этому вопросу не найдено ответов. Это то, что мой код выглядит как сейчас (в background.js):
chrome.omnibox.onInputChanged.addListener(
function(text, suggest)
{
text = text.replace(" ", "");
suggest([
{ content: "http://reddit.com/r/" + text, description: "reddit.com/r/" + text },
{ content: "http://imgur.com/r/" + text, description: "imgur.com/r/" + text }
]);
}
);
chrome.omnibox.onInputEntered.addListener(
function(text)
{
chrome.tabs.getSelected(null, function(tab)
{
chrome.tabs.update(tab.id, {url: text});
});
}
);
chrome.omnibox.setDefaultSuggestion({ description: "visit /r/%s" });
Так есть способ установки по умолчанию действия, когда ВВЕСТИ нажато без внушения выбрано? Как функция пользовательского поиска работает по умолчанию в Chrome omnibox? Спасибо за любую помощь.
Это то, что я думал, как хорошо, но я не могу показаться, чтобы иметь возможность установить URL в объект передается setDefaultSuggestion(), только описание. Разум показывает мне пример, если это возможно? –
Добавлен пример для вас! 'setDefaultSuggestion' предназначен только для показа, поскольку он не передает ничего значимого. Поэтому, если «текст» пользователя не похож на URL-адрес, вы можете предположить, что они выбрали предложение по умолчанию, например reddit.com (в вашем коде в любом случае). –