Programmable Search Element Control API

プログラム可能検索エンジンのコンポーネント(検索ボックスと検索結果ページ)を ウェブページやその他のウェブ アプリケーションに HTML マークアップを適用できます。これらのプログラム可能検索エンジン 要素は、Google Cloud Storage バケットに保存された設定に基づいて 実行したカスタマイズに加え、プログラム可能な検索サーバーにもアクセスできます。

JavaScript はすべて非同期で読み込まれるため、ウェブページで次の処理が可能になります。 ブラウザがプログラム可能検索エンジンの JavaScript を取得している間、読み込みを続行します。

はじめに

このドキュメントでは、プログラム可能検索エンジンを追加するための基本モデルについて説明します。 要素の説明と、各要素の説明をウェブページに追加 構成可能なコンポーネントと柔軟な JavaScript API です。

範囲

このドキュメントでは、Terraform に固有の関数とプロパティを Programmable Search Engine Control API を使用します。

ブラウザの互換性

プログラム可能検索エンジンでサポートされているブラウザのリストは、 こちらをご覧ください。

視聴者

このドキュメントは、Google Programmable ページに検索機能を追加する。

プログラム可能検索の要素

HTML マークアップを使用して、プログラム可能検索要素をページに追加できます。各 要素は、少なくとも 1 つのコンポーネントで構成されます。具体的には、検索ボックス、検索ブロックです。 選択することもできます検索ボックスにユーザー入力として次のいずれかを入力できます。 方法:

  • テキスト入力フィールドに入力された検索クエリ
  • URL に埋め込まれたクエリ文字列
  • プログラムによる実行

また、検索結果のブロックでは、 できます。

  • URL に埋め込まれたクエリ文字列
  • プログラムによる実行

以下のタイプのプログラム可能検索要素を使用できます。

要素の種類 コンポーネント 説明
standard <div class="gcse-search"> 検索ボックスと検索結果 同じ <div> で表示されます。
2 列 <div class="gcse-searchbox"><div class="gcse-searchresults"> 片側に検索結果と検索ボックスがある 2 列のレイアウト もう一方です複数の要素を 2 列モードで挿入する場合 では、gname 属性を使用して、 検索結果のブロックが表示されます。
検索ボックスのみ <div class="gcse-searchbox-only"> 独立した検索ボックス。
searchresults-only <div class="gcse-searchresults-only"> 独立した検索結果のブロック。

ウェブページには有効な検索要素をいくつでも追加できます。2 列の場合 すべての必須コンポーネント(検索ボックスと検索 結果ブロックなど)が存在する必要があります。

単純な検索要素の例を次に示します。

<!-- Put the following javascript before the closing </head> tag
and replace 123456 with your own Programmable Search Engine ID. -->
<script async src="https://cse.google.com/cse.js?cx=123456"></script>

<!-- Place this tag where you want both of the search box and the search results to render -->
<div class="gcse-search"></div>

Programmable Search Elements を使用してさまざまなレイアウト オプションを作成する

プログラム可能検索エンジンのコントロール パネルの [外観] ページでは、以下のレイアウト オプションを使用できます。ここでは、プログラム可能な検索の要素を使用したレイアウト オプションの作成に関する一般的なガイドラインについて説明します。これらのオプションのデモを確認するには、リンクをクリックしてください。

オプション コンポーネント
全幅 <div class="gcse-search">
コンパクト <div class="gcse-search">
2 列 <div class="gcse-searchbox"><div class="gcse-searchresults">
2 ページ <ph type="x-smartling-placeholder"> 最初のページには <div class="gcse-searchbox-only">、2 ページ目は <div class="gcse-searchresults-only">(またはその他のコンポーネント)です。
結果のみ <ph type="x-smartling-placeholder"> <div class="gcse-searchresults-only">
Google がホスト <ph type="x-smartling-placeholder"> <div class="gcse-searchbox-only">

レイアウト オプションの詳細

Programmable Search の要素のカスタマイズ

色、フォント、リンク スタイルをカスタマイズするには、プログラム可能な検索エンジンの [デザイン] ページに移動します。

オプションの属性を使用して、 プログラム可能検索エンジン 。これにより、ページ固有の検索機能を構築できます。 たとえば次のコードは、検索結果ページを開く検索ボックスを作成します。 (http://www.example.com?search=lady+gaga)を新しいウィンドウで表示。「 queryParameterName 属性とユーザーのクエリ文字列が 結果の URL を作成します。

queryParameterName 属性の先頭には data- が付加されています。 この接頭辞はすべての属性で必須です。

<div class="gcse-searchbox-only" data-resultsUrl="http://www.example.com" data-newWindow="true" data-queryParameterName="search">

プログラム可能検索エンジンのコントロール パネルを使用して、 予測入力絞り込みなどで、属性を使用して カスタマイズが可能です。これらの属性を使用して指定したカスタマイズ コントロール パネルでの設定が上書きされます。次のサンプルでは、 次の機能を備えた 2 列の検索要素:

  • 履歴管理が有効です
  • 表示される予測入力の最大数は 5 に設定されています
  • 絞り込みはリンクとして表示されます。

<div class="gcse-searchbox" data-enableHistory="true" data-autoCompleteMaxCompletions="5">
<div class="gcse-searchresults" data-refinementStyle="link">

サポートされている属性

属性 説明 コンポーネント
全般
gname 文字列 (省略可)検索要素オブジェクトの名前。名前は、名前を使用して、 関連するコンポーネントの名前を指定するか、searchbox コンポーネントを searchresults コンポーネントに置き換えます。指定しない場合、 プログラム可能検索エンジンは、gname ウェブページ上のコンポーネントの順序です。たとえば、最初の名前のない searchbox-only には gname "searchbox-only0" が設定されています 2 つ目は gname "seachbox-only1" というように続きます。 コンポーネント用に自動生成された gname は、 2 列のレイアウトは two-column になります。次の例をご覧ください。 gname storesearch を使用して searchbox をリンクします。 次のサンプルを searchresults コンポーネントに置き換えます。
<div class="gcse-searchbox" data-gname="storesearch"></div>
<div class="gcse-searchresults" data-gname="storesearch"></div>

オブジェクトを取得するときに、複数のコンポーネントに同じ gname。プログラム可能検索エンジンは、 できます。

すべて
autoSearchOnLoad ブール値 URL に埋め込まれたクエリによる検索を実行するかどうかを指定します 表示されます。クエリ文字列は URL に存在する必要があります 自動検索が実行されます。デフォルト: true すべて
enableHistory ブール値 true の場合、ブラウザの「戻る」の履歴管理が有効になります。 [進む]ボタンがありますデモを見る

検索ボックス

検索ボックスのみ

queryParameterName 文字列 クエリ パラメータ名。例: q(デフォルト) または query。これは URL に埋め込まれます(例: http://www.example.com?q=lady+gaga など)。なお、 クエリ パラメータ名だけでは、読み込み時に自動検索がトリガーされません。クエリ 自動検索を実行するには、URL に文字列が必要です。 すべて
resultsUrl URL 検索結果ページの URL。(デフォルトは Google がホストするページです)。 検索ボックスのみ
newWindow ブール値 検索結果ページを新しいウィンドウで開くかどうかを指定します。 デフォルト: false 検索ボックスのみ
ivt ブール値

このパラメータを使用すると、許可することを Google に伝えるブール値を指定できます。 無効なトラフィック検出専用の Cookie を使用する広告ローカル ストレージの ブロックします。

trueこのパラメータが存在しない場合、または「true」に設定した場合は、「新規顧客の獲得」目標を 無効なトラフィック検出専用の Cookie を使用し、同意済みのトラフィックでのみローカル ストレージを使用する。

falseこのパラメータを「false」に設定した場合無効な値が設定されます 同意ありのトラフィックと同意なしのトラフィックの両方でローカル ストレージを使用します。

デフォルト: false

使用例: <div class="gcse-search" data-ivt="true"></div>

検索結果

searchresults-only

mobileLayout 文字列

モバイル レイアウト スタイルをモバイル デバイスで使用するかどうかを指定します。

enabled: モバイル デバイスに対してのみモバイル レイアウトを使用します。

disabled どのデバイスでもモバイル レイアウトを使用しません。

forced: すべてのデバイスでモバイル レイアウトを使用します。

デフォルト: enabled

使用例: <div class="gcse-search" data-mobileLayout="disabled"></div>

すべて
予測入力
enableAutoComplete ブール値 プログラム可能検索エンジンのコントロール パネルで予測入力が有効になっている場合にのみ使用できます。 true は予測入力を有効にします。 すべて
autoCompleteMaxCompletions Integer 表示する予測入力の最大数。

検索ボックス

検索ボックスのみ

autoCompleteMaxPromotions Integer 予測入力に表示されるプロモーションの最大数。

検索ボックス

検索ボックスのみ

autoCompleteValidLanguages 文字列 予測入力の対象となる言語のカンマ区切りのリスト 有効にします。<ph type="x-smartling-placeholder"></ph> サポートされている言語。

検索ボックス

検索ボックスのみ

絞り込み
defaultToRefinement 文字列 絞り込みが作成されている場合にのみ使用できます。 プログラム可能検索エンジンのコントロール パネル。デフォルトの絞り込みラベルを指定します。 display.注: この属性は、Google がホストするレイアウトではサポートされていません。 すべて
refinementStyle 文字列 有効な値は tab(デフォルト)と link です。 link は、画像検索が無効になっている場合、または次の場合にのみサポートされます。 画像検索は有効になっていますが、ウェブ検索は無効になっています。

検索結果

searchresults-only

画像検索
enableImageSearch ブール値 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

true の場合、画像検索を有効にします。画像検索結果は クリックします。

検索結果

searchresults-only

defaultToImageSearch ブール値 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

true の場合、検索結果ページに画像検索結果が表示されます できます。ウェブ検索結果は別のタブに表示されます。

すべて
imageSearchLayout 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

画像検索結果ページのレイアウトを指定します。使用できる値 classiccolumn、または popup です。

検索結果

searchresults-only

imageSearchResultSetSize 整数、文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

画像検索の結果セットの最大サイズを指定します。 例: largesmallfiltered_cse10

すべて
image_as_filetype 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

結果を指定した拡張子のファイルのみに制限します。

サポートされている拡張機能は jpggifpngbmpsvgwebpicoraw です。

すべて

image_as_oq 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

論理 OR を使用して検索結果をフィルタします。

「term1」のどちらかを含む検索結果を表示する場合の使用例または "term2":<div class="gcse-search" data-image_as_oq="term1 term2"></div>

すべて

image_as_rights 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

ライセンスに基づくフィルタ。

サポートされている値は、cc_publicdomaincc_attributecc_sharealikecc_noncommercialcc_nonderived、およびこれらの組み合わせです。

一般的な組み合わせをご覧ください。

すべて

image_as_sitesearch 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

検索結果を特定サイトのページに限定します。

使用例: <div class="gcse-search" data-image_as_sitesearch="example.com"></div>

すべて

image_colortype 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

検索をモノクロ(モノラル)、グレースケール、カラーの画像に限定します。サポートされる値は monograycolor です。

すべて

image_cr 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

検索結果を、特定の国で作成されたドキュメントに限定します。

サポートされている値

すべて

image_dominantcolor 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

検索を特定のドミナント カラーの画像に制限します。 サポートされている値は redorangeyellowgreentealbluepurplepinkwhitegrayblackbrown です。

すべて

image_filter 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

検索結果の自動フィルタリング

サポートされている値: 0/1

使用例: <div class="gcse-search" data-image_filter="0"></div>

すべて

image_gl 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。 検索元の国がパラメータ値と一致する検索結果を優先します。

サポートされている値

すべて

image_size 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

指定されたサイズの画像を返します。サイズは、iconsmallmediumlargexlargexxlargehuge. のいずれかです。

すべて

image_sort_by 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

日付または他の構造化コンテンツを使用して結果を並べ替えます。

関連性で並べ替えるには、空の文字列(image_sort_by="")を使用します。

使用例: <div class="gcse-search" data-image_sort_by="date"></div>

すべて

image_type 文字列 の場合のみ使用可能 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

検索を特定タイプの画像に限定します。 サポートされている値は、clipart(クリップアート)、face(人の顔)、lineart(線画)、stock(ストックフォト)、photo(写真)、animated(アニメーション GIF)です。

すべて

ウェブ検索
disableWebSearch ブール値 true の場合、ウェブ検索を無効にします。通常、次の場合にのみ使用されます。 <ph type="x-smartling-placeholder"></ph> 画像検索がプログラム可能検索エンジンのコントロール パネルで有効になっていること。

検索結果

searchresults-only

webSearchQueryAddition 文字列 論理 OR を使用して検索クエリに余分な用語が追加されました。

使用例: <div class="gcse-search" data-webSearchQueryAddition="term1 term2"></div>

すべて
webSearchResultSetSize 整数、文字列 結果セットの最大サイズ。対象 画像検索とウェブ検索の両方に対応しますデフォルトは、レイアウトと プログラム可能検索エンジンがウェブ全体を検索するように設定されているか、特定のファイルのみを検索するように設定されているか できます。指定できる値は次のとおりです。 <ph type="x-smartling-placeholder">
    </ph>
  • 1 ~ 20 の整数
  • small: 小規模な結果セットをリクエストします。通常は 4 つの結果です。 できます。
  • large: サイズの大きい結果セットをリクエストします(通常は 8)。 ページあたりの結果の数。
  • filtered_cse: 1 ページあたり最大 10 件の結果をリクエスト 最大 10 ページまたは 100 件の結果です
すべて
webSearchSafesearch 文字列 指定するかどうか SafeSearch: ウェブ検索の検索結果に対して 有効にする必要があります指定できる値は offactive です。 すべて
as_filetype 文字列 結果を指定した拡張子のファイルのみに制限します。Google がインデックス登録できるファイル形式の一覧については、Search Console のヘルプセンターをご覧ください。

すべて

as_oq 文字列 論理 OR を使用して検索結果をフィルタします。

「term1」のどちらかを含む検索結果を表示する場合の使用例または "term2":<div class="gcse-search" data-as_oq="term1 term2"></div>

すべて
as_rights 文字列 ライセンスに基づくフィルタ。

サポートされている値は、cc_publicdomaincc_attributecc_sharealikecc_noncommercialcc_nonderived、およびこれらの組み合わせです。

一般的な組み合わせについては、https://wiki.creativecommons.org/wiki/CC_Search_integration をご覧ください。

すべて

as_sitesearch 文字列 検索結果を特定サイトのページに限定します。

使用例: <div class="gcse-search" data-as_sitesearch="example.com"></div>

すべて
cr 文字列 検索結果を、特定の国で作成されたドキュメントに限定します。

サポートされている値

使用例: <div class="gcse-search" data-cr="countryFR"></div>

すべて
filter 文字列 検索結果の自動フィルタリング

サポートされている値: 0/1

使用例: <div class="gcse-search" data-filter="0"></div>

すべて
gl 文字列 検索元の国がパラメータ値と一致する検索結果を優先します。

これは、言語の値を設定している場合のみ使用できます。

サポートされている値

使用例: <div class="gcse-search" data-gl="fr"></div>

すべて
lr 文字列 検索結果を特定の言語のドキュメントに限定します。

サポートされている値

使用例: <div class="gcse-search" data-lr="lang_fr"></div>

すべて
sort_by 文字列 日付または他の構造化コンテンツを使用して結果を並べ替えます。属性値は、プログラム可能な検索の [結果の並べ替え] 設定で指定されたオプションのいずれかである必要があります。

関連性で並べ替えるには、空の文字列(sort_by="")を使用します。

使用例: <div class="gcse-search" data-sort_by="date"></div>

すべて
検索結果
enableOrderBy ブール値 関連性、日付、ラベルによる結果の並べ替えを有効にします。 すべて
linkTarget 文字列 リンク ターゲットを設定します。デフォルト: _blank

検索結果

searchresults-only

noResultsString 文字列 クエリに一致する結果がない場合に表示するデフォルトのテキストを指定します。 デフォルトの結果文字列を使用すると、ローカライズされた文字列をすべての カスタム言語はサポートされていません。

検索結果

searchresults-only

resultSetSize 整数、文字列 結果セットの最大サイズ。例: large smallfiltered_cse10。「 のデフォルト値は、レイアウトと、エンジンが ウェブ全体または特定のサイトのみ を対象に指定できます すべて
safeSearch 文字列 次の場合に指定します。 セーフサーチは、ウェブ検索と画像検索の両方で有効になっています。指定できる値は off です および active すべて

コールバック

<ph type="x-smartling-placeholder">
</ph>
コールバック シーケンスの図
Search Element JavaScript からのコールバックのシーケンス図

コールバックは、検索要素の初期化と検索プロセスの詳細な制御をサポートします。 これらは、グローバル __gcse を介して検索要素 JavaScript に登録されます。 渡されます。Register Callbacks は、 コールバック関数を呼び出します。

<ph type="x-smartling-placeholder">
</ph>
コールバックを登録する

  window.__gcse = {
    parsetags: 'explicit', // Defaults to 'onload'
    initializationCallback: myInitializationCallback,
    searchCallbacks: {
      image: {
        starting: myImageSearchStartingCallback,
        ready: myImageResultsReadyCallback,
        rendered: myImageResultsRenderedCallback,
      },
      web: {
        starting: myWebSearchStartingCallback,
        ready: myWebResultsReadyCallback,
        rendered: myWebResultsRenderedCallback,
      },
    },
  };
  

初期化コールバック

検索要素の JavaScript が検索をレンダリングする前に初期化コールバックが呼び出される 参照できます。parsetagsexplicit に設定されている場合: __gcse の場合、検索要素 JavaScript はレンダリング検索要素を 初期化コールバックを使用します(コールバックの登録を参照)。 これを使用して、レンダリングする要素を選択したり、要素がアップロードされるまでレンダリングを延期したりできます。 必要ありません。要素の属性をオーバーライドすることもできます。たとえば、 コントロール パネルまたは HTML 属性によってデフォルトでウェブに設定される検索ボックス 画像検索の検索ボックスで検索するか、プログラム可能検索エンジンのフォームで送信したクエリに対して searchresults-only 要素内で実行される必要があります。 <ph type="x-smartling-placeholder"></ph> デモをご覧ください。

初期化コールバックのロールは、parsetags の値によって制御されます。 __gcse のプロパティです。

  • 値が onload の場合、検索要素 JavaScript により、ページ上のすべての検索要素が自動的にレンダリングされます。初期化コールバックは、 は引き続き呼び出されますが、検索要素のレンダリングは担いません。
  • 値が explicit の場合、検索要素の JavaScript はレンダリングされません。 要素を検索します。コールバックは、 render() 関数を使用すると、 go() 関数ですべての検索要素をレンダリングする

次のコードは、検索結果とともに検索ボックスを divexplicit 解析タグと初期化コールバックを使用):

で確認できます。 <ph type="x-smartling-placeholder">
</ph> 初期化コールバックの例

ID 値を持つ <div> を含める必要があります 検索要素コードを追加します

    <div id="test"></div>
この JavaScript を <div> の後に追加します。なお、 test(特定の場所の特定に使用した id)を参照します。 <div>
const myInitCallback = function() {
  if (document.readyState == 'complete') {
    // Document is ready when Search Element is initialized.
    // Render an element with both search box and search results in div with id 'test'.
    google.search.cse.element.render(
        {
          div: "test",
          tag: 'search'
         });
  } else {
    // Document is not ready yet, when Search Element is initialized.
    google.setOnLoadCallback(function() {
       // Render an element with both search box and search results in div with id 'test'.
        google.search.cse.element.render(
            {
              div: "test",
              tag: 'search'
            });
    }, true);
  }
};

// Insert it before the Search Element code snippet so the global properties like parsetags and callback
// are available when cse.js runs.
window.__gcse = {
  parsetags: 'explicit',
  initializationCallback: myInitCallback
};

この HTML を追加して、検索要素の読み込みを開始します。次の cx 値を置き換えます。 src 句を独自の cx に置き換えます。

<script async
  src="https://cse.google.com/cse.js?cx=000888210889775888983:y9tkcjel090"></script>

検索コールバック

検索要素 JavaScript は、 検索制御フローについて説明します 検索コールバックは、ウェブ検索コールバックとそれに対応する画像検索コールバックのペアで提供されます。

  • 検索を開始しています <ph type="x-smartling-placeholder">
      </ph>
    • 画像検索の場合
    • ウェブ検索用
  • 結果の準備が完了しました <ph type="x-smartling-placeholder">
      </ph>
    • 画像検索の場合
    • ウェブ検索用
  • レンダリングされた結果 <ph type="x-smartling-placeholder">
      </ph>
    • 画像検索の場合
    • ウェブ検索用

初期化コールバックと同様に、検索コールバックは __gcse オブジェクトのエントリを使用して構成します。これは検索要素として JavaScript が開始されます。起動後の __gcse の変更は無視されます。

これらの各コールバックには、それぞれのサービスの gName が Search Element を引数として指定します。 gname は、ページに複数の検索が含まれている場合に役立ちます。検索する data-gname 属性を使用して gname 要素を指定します。

<div class="gcse-searchbox" data-gname="storesearch"></div>

HTML で gname が識別されない場合、検索要素の JavaScript は、 HTML が変更されるまで一貫性が維持されます。

画像検索/ウェブ検索開始コールバック

検索要素 JavaScript リクエストの直前に検索開始コールバックが呼び出される 受信します。ユースケースの例として、ローカル時刻を使用して、 クエリの変更を制御できます。

searchStartingCallback(gname, query)
gname
検索要素の識別文字列
query
ユーザーが入力した値(検索によって変更される可能性がある) 渡します。

このコールバックは、この検索のクエリとして使用する値を返します。レスポンスで 空の文字列の場合、戻り値は無視され、呼び出し元は変更されていないクエリを使用します。

または、コールバック関数を __gcse オブジェクトに配置するか、 JavaScript を使用して、このコールバックをオブジェクトに動的に追加します。

window.__gcse['searchCallbacks']['web']['starting'] = function(gname, query) {...};
検索開始コールバックの例

次の検索開始コールバックの例は、 検索開始コールバックの例: morning のいずれかを追加する または afternoon をクエリに追加できます。

<ph type="x-smartling-placeholder">
</ph> 検索開始のコールバックの例
    const myWebSearchStartingCallback = (gname, query) => {
      const hour = new Date().getHours();
      return query + (hour < 12 ? ' morning' : ' afternoon');
    };
    window.myImageSearchStartingCallbackName = myWebSearchStartingCallback;

このコールバックを window.__gcse: にインストールします。

  window.__gcse || (window.__gcse = {});
    window.__gcse.searchCallbacks = {
      image: {
        starting: 'myImageSearchStartingCallbackName',
      },
      web: {
        starting: myWebSearchStartingCallback,
      },
    };
  
  <script
  async src="https://cse.google.com/cse.js?cx=000888210889775888983:y9tkcjel090"></script>
<div class="gcse-searchbox"></div>
<div class="gcse-searchresults"></div>

画像/ウェブ検索結果準備完了コールバック

これらのコールバックは、検索要素 JavaScript がプロモーションをレンダリングし、 表示されます。ユースケースの例として、プロモーションをレンダリングし、 通常のカスタマイズでは指定できません。

resultsReadyCallback(gname, query, promos, results, div)
gname
検索要素の識別文字列
query
これらの結果を生成したクエリ
promos
一致したプロモーション オブジェクトの配列 のプロモーション 表示されます。詳しくは、プロモーション オブジェクトの定義をご覧ください。
results
結果オブジェクトの配列。詳しくは、 結果オブジェクトの定義
div
検索要素が通常配置される DOM 内の HTML div 場所、プロモーション、検索結果。通常、Search Element JavaScript は、 表示されますが、このコールバックによって結果の自動レンダリングが停止されることもあります。 この div を使用して結果自体をレンダリングします。
で確認できます。

このコールバックが true 値を返す場合、検索要素の JavaScript は ページフッターが機能します。

Results Ready コールバックの例

resultsReady コールバックの例 Example Results Ready Callback によってデフォルトの表示方法をオーバーライドする 非常にシンプルな置き換えで、さまざまなプロモーションと結果を

<ph type="x-smartling-placeholder">
</ph> Results Ready Callback の例
    const myResultsReadyCallback = function(name, q, promos, results, resultsDiv) {
      const makePromoElt = (promo) => {
        const anchor = document.createElement('a');
        anchor.href = promo['url'];
        anchor.target = '_blank';
        anchor.classList.add('gs-title');
        const span = document.createElement('span');
        span.innerHTML = 'Promo: ' + promo['title'];
        anchor.appendChild(span);
        return anchor;
      };
      const makeResultParts = (result) => {
        const anchor = document.createElement('a');
        anchor.href = result['url'];
        anchor.target = '_blank';
        anchor.classList.add('gs_title');
        anchor.appendChild(document.createTextNode(result['visibleUrl']));
        const span = document.createElement('span');
        span.innerHTML = ' ' + result['title'];
        return [anchor, span];
      };

      const table = document.createElement('table');
      if (promos) {
        for (const promo of promos) {
          const row = table.insertRow(-1);
          const cell = row.insertCell(-1);
          cell.appendChild(makePromoElt(promo));
        }
        resultsDiv.appendChild(table);
        resultsDiv.appendChild(document.createElement('br'));
      }
      if (results) {
        const table = document.createElement('table');
        for (const result of results) {
          const row = table.insertRow(-1);
          const cell = row.insertCell(-1);
          const [anchor, span] = makeResultParts(result);
          cell.appendChild(anchor);
          const cell2 = row.insertCell(-1);
          cell2.appendChild(span);
        }
        resultsDiv.appendChild(table);
      }
      return true;
    };

このコールバックを window.__gcse: にインストールします。

  window.__gcse || (window.__gcse = {});
    window.__gcse.searchCallbacks = {
      web: {
        ready: myResultsReadyCallback,
      },
    };
  <script async
  src="https://cse.google.com/cse.js?cx=000888210889775888983:y9tkcjel090"></script>
<div class="gcse-searchbox"></div>
<div class="gcse-searchresults"></div>

上記は、検索開始コールバックと同様に、コールバックを __gcse オブジェクト。

画像/ウェブ検索結果としてレンダリングされたコールバック

これらのコールバックは、検索要素 JavaScript がページをレンダリングする直前に呼び出されます 追加できます。ユースケースの例として、検索対象の検索結果コンテンツを追加するコールバック [save this] チェックボックスや、 または [詳細情報を表示] ボタンを追加するコールバックを使用します。

結果レンダリングされたコールバックが、promos に含まれていた情報を必要としている場合は、 results 結果準備完了コールバックのパラメータは、次のように指定し、結果を相互に渡すことができます。

callback(gname, query, promoElts, resultElts);
gname
検索要素の識別文字列
query
検索文字列。
promoElts
プロモーションを含む DOM 要素の配列。
resultElts
結果を含む DOM 要素の配列。

戻り値はありません。

結果レンダリングされたコールバックの例

resultsRendered コールバックの例 結果レンダリングされたコールバックの例: ダミーの Keep を追加します。 チェックボックスをオンにできます

<ph type="x-smartling-placeholder">
</ph> 結果レンダリングされたコールバックの例
myWebResultsRenderedCallback = function(name, q, promos, results) {
    for (const div of promos.concat(results)) {
      const innerDiv = document.createElement('div');
      innerDiv.appendChild(document.createTextNode('Keep: '));
      const checkBox = document.createElement('input');
      checkBox.type = 'checkbox';
      checkBox.name = 'save';
      innerDiv.appendChild(checkBox);
      div.insertAdjacentElement('afterbegin', innerDiv);
    }
  };

このコールバックを window.__gcse: にインストールします。

window.__gcse || (window.__gcse = {});
window.__gcse.searchCallbacks = {
  web: {
    rendered: 'myWebResultsRenderedCallback',
  },
};
  <script async
    src="https://cse.google.com/cse.js?cx=000888210889775888983:y9tkcjel090"></script>
<div class="gcse-searchbox"></div>
<div class="gcse-searchresults"></div>

結果レンダリングされたコールバック結果準備完了コールバックに渡された情報が渡され、 あります。次の例は、評価値を渡すさまざまな方法の 1 つを示しています。 結果準備完了コールバックから結果レンダリングへの richSnippet あります。

で確認できます。 <ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"></ph> 結果レンダリングのコールバックと連携する結果準備完了コールバックの例
const makeTwoPartCallback = () => {
  let saveForRenderCallback;
  const readyCallback = (name, q, promos, results, resultsDiv) =>
  {
    saveForRenderCallback = [];
    for (const result of results) {
      const {
        richSnippet: {
          answer = []
        } = {},
      } = result;
      const firstAnswer = answer[0];
      if (firstAnswer) {
        const upVotes = firstAnswer['upvotecount'];
        if (upVotes) {
          saveForRenderCallback.push(
            {upvotes: parseInt(upVotes, 10)}
          );
          continue;
        }
      }
      saveForRenderCallback.push({});
    }
  };
  const renderedCallback = (name, q, promos, results) => {
    for (let i = 0; i < results.length; ++i) {
      const div = results[i];
      const votes = saveForRenderCallback[i]['upvotes'];
      if (votes) {
        const innerDiv = document.createElement('div');
        innerDiv.innerHTML = '<b>Upvotes: ' + votes + '</b>';
         div.insertAdjacentElement('afterbegin', innerDiv);
      }
    }
  };
  return {readyCallback, renderedCallback};
};
__gcse の設定中に、次のようなコードを使用してこのコールバックをインストールします。
const {
  readyCallback: webResultsReadyCallback,
  renderedCallback: webResultsRenderedCallback,
} = makeTwoPartCallback();
window.__gcse || (window.__gcse = {});
window.__gcse.searchCallbacks = {
  web: {
    ready: webResultsReadyCallback,
    rendered: webResultsRenderedCallback,
  },
};
  <script async
  src="https://cse.google.com/cse.js?cx=000888210889775888983:kdroeu4mwju"></script>
<div class="gcse-searchbox"></div>
<div class="gcse-searchresults"></div>

その他のコールバックの例

その他のコールバックの例については、このモジュールの その他のコールバックの例のドキュメントをご覧ください。

プロモーション プロパティと結果プロパティ

JSDoc 表記を使用すると、次のプロパティになります。 promotion オブジェクトと result オブジェクト。 ここでは、存在する可能性のあるすべてのプロパティをリストしています。多数の宿泊施設が存在すること プロモーションや検索結果の詳細によって異なります。

<ph type="x-smartling-placeholder">
</ph>
プロモーション プロパティ
{
  content: string,
  image: {
    height: number,
    url: string,
    width: number,
  },
  title: string,
  url: string,
  visibleUrl: string,
}
<ph type="x-smartling-placeholder">
</ph>
結果オブジェクトのプロパティ
{
  content: string,
  contentNoFormatting: string,
  contextUrl: string, // For image search results only
  fileFormat: string,
  image: { // For image search reseults only
    height: number,
    url: string,
    width: number,
  },
  perResultLabels: !Array<{
    anchor: string,
    label: string,
    labelWithOp: string,
  }>,
  richSnippet: !Array<!Object>, // For web search results only
  thumbnailImage: {
    height: number,
    url: string,
    width: number,
  },
  title: string,
  titleNoFormatting: string,
  url: string,
  visibleUrl: string,
}

結果richSnippet は、配列の緩い型です。 説明します。この配列内のエントリの値は、 構造化データ 各検索結果のウェブページに表示されますたとえば、レビューのウェブサイトには この配列エントリを richSnippet に追加する構造化データ:

'review': {
  'ratingstars': '3.0',
  'ratingcount': '1024',
},

Programmable Search Element Control API(V2)

google.search.cse.element オブジェクトは以下を公開します。 静的関数:

機能 説明
.render(componentConfig, opt_componentConfig) 検索要素をレンダリングします。

パラメータ

名前 説明
componentConfig Programmable Search Element コンポーネントの構成。次の項目を指定します。 <ph type="x-smartling-placeholder">
    </ph>
  • div(文字列|要素): プログラム可能検索要素がレンダリングされる <div> 要素または div 要素の id
  • tag(文字列): レンダリングするコンポーネントのタイプ。(opt_componentConfig を指定する場合は、tag 属性の値を searchbox にする必要があります)。使用できる値は次のとおりです。
    • search: 検索ボックスと検索結果を一緒に表示します。
    • searchbox: プログラム可能検索要素の検索ボックス コンポーネント。
    • searchbox-only: スタンドアロンの検索ボックス。opt_componentConfig で指定された検索結果のブロックとペアになり、2 列レイアウトになります。
    • searchresults-only: 独立した検索結果のブロック。検索は、URL に埋め込まれたクエリ パラメータによって、またはプログラムによって実行されます。
  • gname(文字列): (省略可)このコンポーネントの一意の名前。指定しない場合、プログラム可能検索エンジンは自動的に gname を生成します。
  • attributes(オブジェクト): Key-Value ペア形式の省略可能な属性。サポートされている属性
opt_componentConfig 省略可。コンポーネント構成の 2 番目の引数。TWO_COLUMN で使用 searchresults コンポーネントを提供します。次の項目を指定します。 <ph type="x-smartling-placeholder">
    </ph>
  • div(文字列): id または <div> の 要素がレンダリングされる div 要素。
  • tag(文字列): レンダリングするコンポーネントのタイプ。日時 opt_componentConfig が指定されている場合、tag の値 属性は searchresults にする必要があります。また、 componentConfigtag 属性 searchbox にする必要があります。
  • gname(文字列): (省略可)このコンポーネントの一意の名前。回答が「いいえ」の場合 指定した場合、プログラム可能検索エンジンは、この変数の gname を自動的に生成します。 説明します。指定する場合は、gname で始まる必要があります。 componentConfig
  • attributes(オブジェクト): Key-Value 形式のオプション属性 ペア設定します。<ph type="x-smartling-placeholder"></ph> サポートされている属性。
.go(opt_container) 指定されたコンテナ内のすべての検索要素タグやクラスをレンダリングします。

パラメータ

名前 説明
opt_container レンダリングする検索要素コンポーネントを含むコンテナ。具体的にご記入ください コンテナの ID(文字列)か要素自体を指定します。条件 省略した場合は、ページの body タグがレンダリングされます。
.getElement(gname) gname で要素オブジェクトを取得します。見つからなかった場合は null を返します。

返される element オブジェクトには次の属性があります。

  • gname: 要素オブジェクトの名前。指定しない場合、プログラム可能検索エンジン オブジェクトの gname が自動的に生成されます。 詳細
  • type: 要素のタイプ。
  • uiOptions: 要素のレンダリングに使用される最終的な属性。
  • execute - 関数(文字列): プログラムによるクエリを実行します。
  • prefillQuery - 関数(文字列): 検索ボックスにクエリを事前入力します。 その文字列をクエリできます。
  • getInputQuery - function(): 入力に表示されている現在の値を取得する のボックスを選択します。
  • clearAllResults - function(): 次以外のすべてを非表示にして、コントロールをクリアします 検索ボックスに入力します。

次のコードは、「news」というクエリを実行します。検索要素 "element1":

var element = google.search.cse.element.getElement('element1');
            element.execute('news');
.getAllElements() gname をキーとして、正常に作成されたすべての要素オブジェクトのマップを返します。