Google Chromeでstackoverflow.comにアクセスし、最後の文字の前にスペースを置くと、アドレスバーが次のスクリーンショットのスペースに変わります。
次に、Tabキーを押して、何でも入力できます。Enterキーを押すと、検索語句を含む検索ページが表示されます https://stackoverflow.com/search?q=anything
。
サイトで同じことをするにはどうすればよいですか?
Google Chromeでstackoverflow.comにアクセスし、最後の文字の前にスペースを置くと、アドレスバーが次のスクリーンショットのスペースに変わります。
次に、Tabキーを押して、何でも入力できます。Enterキーを押すと、検索語句を含む検索ページが表示されます https://stackoverflow.com/search?q=anything
。
サイトで同じことをするにはどうすればよいですか?
回答:
サイトに検索機能がある場合、ChromeのOpenSearch機能を利用できます。
Chromiumのドキュメントからの引用:
すべてのユーザー(検索フォームを使用していないユーザーも含む)に対してこれを有効にするには:
サイトのホームページで、OpenSearch説明ドキュメントへのリンクを提供します。OSDDへのリンクは、htmlファイルの先頭に配置されます。例えば:
<head>
<link type="application/opensearchdescription+xml"
rel="search"
href="url_of_osdd_file"/>
</head>
このドキュメントの重要な部分は、サイトの検索に使用されるURLです。
以下は、最低限必要なものを含む例です。指定できる値のリストについては、OpenSearch説明ドキュメントの仕様を参照してください。
<?xml version="1.0"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Search My Site</ShortName>
<Description>Search My Site</Description>
<Url type="text/html" method="get"
template="http://my_site/{searchTerms}"/>
</OpenSearchDescription>
ユーザーがアドレスバーでEnterキーを押すと、URLの文字列{searchTerms}が、ユーザーが入力した文字列に置き換えられます。
次のrel="suggestions"
ような別のURL要素を追加して、提案サービスを含めることもできます。
<Url type="application/json"
rel="suggestions"
template="http://my_site/suggest?q={searchTerms}"
/>
これを含めると、アドレスバーは提案サービスを使用して、ユーザーの部分クエリに基づいてクエリ提案を提供します。
検索ボックスでGETリクエストを使用している場合、Chromeはこの機能を使用するユーザーに対してこの機能を有効にします。
サイトに検索ページがない場合、これは機能しません。
最初のリンクのスティーブンへの小道具。