Многие современные браузеры имеют поле поиска в правой части адресной строки, а поиск Google установлен по умолчанию. Как показано ниже:
Фактически, это приложение OpenSearch. Пока вы пишете соответствующий XML-файл микроформата, вы можете сформулировать соответствующее окно поиска. Ссылаясь на документ определения OpenSearch, вы можете получить базовый формат XML. Например, типичный XML-файл поиска можно указать следующим образом.
<?xml version="1.0"coding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<InputEncoding>utf-8</InputEncoding>
<ShortName>Короткое имя</ShortName>
<Описание>Описание</Описание>
<Image type="image/vnd.microsoft.icon">значок</Image>
<Url type="text/html" template="http://who.am.i/search?word={searchTerms}"/>
</OpenSearchDescription>
Приведенный выше XML-файл легко понять. За исключением фиксированного корня xml, другие определения можно понимать буквально:
Написание формата XML для OpenSearch завершено. Для получения подробной информации обратитесь к документу с определением OpenSearch. Далее нам нужно добавить этот поиск на страницу. Есть два основных способа. Они заключаются в добавлении тегов ссылок в заголовок страницы (аналогично RSS) и добавлении их с помощью Javascript (например, определение кнопки для запуска). Добавить теги ссылок очень просто, формат следующий:
<link rel="search" type="application/opensearchdescription+xml"
href="http://who.am.i/search.xml" title="ShortName" />
Как и в случае с RSS, rel и тип фиксированы. В основном мы указываем href (URL-адрес приведенного выше XML-файла, в целях безопасности используйте абсолютный путь, то есть начиная с http://) и заголовок (то есть короткий путь). название поиска). Таким образом, открыв эту страницу в Проводнике и Firefox, вы увидите соответствующее меню, как показано на рисунке:
Добавлять с помощью Javascript сложнее (возможно, сейчас ситуация будет намного лучше). В основном мы используем функцию расширения браузера. В Проводнике есть параметр window.external.AddSearchProvider (подробная документация). Типичный метод вызова следующий:
window.external.AddSearchProvider('http://who.am.i/search.xml');
Ссылка в параметре соответствует содержимому приведенной выше ссылки. Доступно в Firefox
window.sidebar.addSearchEngine(
"http://who.am.i/search.xml", /* URL-адрес системы */
"favicon.ico", /* URL значка */
"ShortName", /* имя двигателя */
"Описание" ); /* название категории */
Параметры и примеры описаны в примере кода (официальная документация). Стоит отметить, что Firefox2 и более поздние версии «совместимы» с методом вызова window.external.AddSearchProvider Проводника (подробности). Тогда наш соответствующий код Javascript может быть написан следующим образом (чтобы быть совместимым с версиями до Firefox2, добавьте еще, если считаете, что это не необходимо, вы можете не добавлять его)
функция addEngine(){
если (window.external || window.external.AddSearchProvider) {
window.external.AddSearchProvider('http://who.am.i/search.xml');
} else if (window.sidebar && window.sidebar.addSearchEngine) {
window.sidebar.addSearchEngine(
"http://who.am.i/search.xml",
"favicon.ico", /* URL значка */
"ShortName", /* имя двигателя */
"Описание" ); /* название категории */
}}
Таким образом, вы можете зарегистрировать эту функцию для события нажатия ссылки или кнопки, и появится всплывающее окно подтверждения. Как показано на рисунке, после того, как пользователь нажмет подтверждение, оно будет добавлено в поле поиска браузера.