Chromeのアドレスバーにサイト検索機能を作成する方法


11

Google Chromeでstackoverflow.comにアクセスし、最後の文字の前にスペースを置くと、アドレスバーが次のスクリーンショットのスペースに変わります。

次に、Tabキーを押して、何でも入力できます。Enterキーを押すと、検索語句を含む検索ページが表示されます https://stackoverflow.com/search?q=anything

サイトで同じことをするにはどうすればよいですか?


彼らはすでにサイト検索をセットアップしていて、StackOverflowと同じようにChromeを設定したいと思っています。その場合、それは非常に答えやすい質問であり、あまりにも広範ではありません。
スティーブンオスターミラー

3
Googleプロダクトフォーラムの誰かがこれを理解しているようです:productforums.google.com/forum
Stephen Ostermiller

ダミス、アドレスバーからサイト検索を追加しますか、それともオートコンプリートを使用したサイト検索を追加しますか?
スコットCウィルソン

1
現在、私は怠惰で良い答えを書くことができないため、opensearch.org / Documentation / Frequently_asked_questionsと、これを実装するための2つのリンクを参照してください。opensearch.org
Oskar Skog

@StephenOstermiller質問を読み直しました。悪い!私はサイト検索の実装を念頭に置いていましたが、どういうわけか質問の本質を逃しました。これは良い質問です。乾杯!!
closetnoc 2017

回答:


6

サイトに検索機能がある場合、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はこの機能を使用するユーザーに対してこの機能を有効にします。

サイトに検索ページがない場合、これは機能しません。

最初のリンクのスティーブンへの小道具。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.