Komponenty Wyszukiwarki niestandardowej (pola wyszukiwania i strony wyników wyszukiwania) możesz umieszczać na stronach internetowych oraz w innych aplikacjach, używając znaczników HTML. Elementy tej Wyszukiwarki niestandardowej składają się z komponentów renderowanych na podstawie ustawień przechowywanych przez serwer Wyszukiwarki niestandardowej oraz wszelkich wprowadzonych przez Ciebie dostosowań.
Cały kod JavaScript jest wczytywany asynchronicznie, co umożliwia dalsze wczytywanie strony internetowej, gdy przeglądarka pobiera kod JavaScript Wyszukiwarki niestandardowej.
Wprowadzenie
Ten dokument zawiera podstawowy model dodawania elementów Wyszukiwarki niestandardowej wraz z objaśnieniami konfigurowanych elementów i elastycznym interfejsem API JavaScript.
Zakres
Ten dokument opisuje korzystanie z funkcji i właściwości związanych z interfejsem Programmable Search Engine Control API.
Zgodność z przeglądarką
Listę przeglądarek obsługiwanych przez wyszukiwarkę niestandardową Google znajdziesz tutaj.
Odbiorcy
Ta dokumentacja jest przeznaczona dla deweloperów, którzy chcą dodać do swoich stron funkcję Wyszukiwarki niestandardowej.
Elementy wyszukiwarki z automatyzacją
Za pomocą znaczników HTML możesz dodać do swojej strony Wyszukiwarka niestandardowa. Każdy element składa się z co najmniej jednego komponentu: pola wyszukiwania, bloku wyników wyszukiwania lub obu tych elementów. Pole wyszukiwania akceptuje dane wejściowe użytkownika w dowolny z tych sposobów:
- Zapytanie wpisane w polu tekstowym
- Ciąg zapytania umieszczony w adresie URL
- Realizacja automatyczna
Blok wyników wyszukiwania akceptuje też dane wejściowe w następujący sposób:
- Ciąg zapytania umieszczony w adresie URL
- Realizacja automatyczna
Dostępne są te typy elementów Wyszukiwarki niestandardowej:
Typ elementu | Komponenty | Opis |
---|---|---|
dostęp standardowy | <div class="gcse-search"> |
Pole wyszukiwania i wyniki wyszukiwania wyświetlane w tym samym elemencie <div> . |
dwukolumnowe | <div class="gcse-searchbox"> i <div class="gcse-searchresults"> |
Dwukolumnowy układ z wynikami wyszukiwania po jednej stronie i polem wyszukiwania po drugiej. Jeśli chcesz wstawić wiele elementów w trybie dwukolumnowym na stronie internetowej, możesz użyć atrybutu gname do sparowania pola wyszukiwania z blokiem wyników wyszukiwania. |
tylko pole wyszukiwania | <div class="gcse-searchbox-only"> |
Samodzielne pole wyszukiwania. |
tylko wyniki wyszukiwania | <div class="gcse-searchresults-only"> |
Samodzielny blok wyników wyszukiwania. |
Do strony możesz dodać dowolną liczbę prawidłowych elementów wyszukiwania. W trybie dwukolumnowym muszą być obecne wszystkie wymagane komponenty (pole wyszukiwania i blok wyników wyszukiwania).
Oto przykład prostego elementu wyszukiwania:
<!-- 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>
Utwórz różne opcje układu za pomocą elementów Programmable Search Search
Na stronie Wygląd i styl panelu sterowania Wyszukiwarki niestandardowej dostępne są te opcje układu. Oto kilka ogólnych wskazówek dotyczących tworzenia opcji układu za pomocą elementów wyszukiwarki niestandardowej. Aby zobaczyć prezentację dowolnej z tych opcji, kliknij link.
Option | Komponenty |
---|---|
Pełna szerokość | <div class="gcse-search"> |
Kompaktowy | <div class="gcse-search"> |
Dwukolumnowe | <div class="gcse-searchbox"> , <div class="gcse-searchresults"> |
Dwustronicowe | <div class="gcse-searchbox-only"> na pierwszej stronie, <div class="gcse-searchresults-only"> (lub inne komponenty) na drugiej stronie. |
Tylko wyniki | <div class="gcse-searchresults-only"> |
Na serwerach Google: | <div class="gcse-searchbox-only"> |
Więcej informacji o opcjach układu
Dostosowywanie elementów Wyszukiwarki niestandardowej
Aby dostosować kolory, czcionkę lub styl linku, otwórz stronę Wygląd i działanie wyszukiwarki.
Za pomocą atrybutów opcjonalnych możesz zastąpić konfiguracje utworzone w panelu sterowania Wyszukiwarki niestandardowej. Dzięki temu możesz dostosować wyszukiwanie do konkretnej strony.
Na przykład poniższy kod tworzy pole wyszukiwania, które otwiera stronę wyników (http://www.example.com?search=lady+gaga) w nowym oknie. Wartość atrybutu queryParameterName
wraz z ciągiem zapytania użytkownika jest używana do utworzenia adresu URL wyników.
Pamiętaj, że atrybut queryParameterName
jest poprzedzony ciągiem data-
.
Ten prefiks jest wymagany w przypadku wszystkich atrybutów.
<div class="gcse-searchbox-only" data-resultsUrl="http://www.example.com" data-newWindow="true" data-queryParameterName="search">
Jeśli w panelu sterowania Wyszukiwarki niestandardowej zostały włączone takie funkcje jak autouzupełnianie lub doprecyzowywanie, możesz je dostosowywać za pomocą atrybutów. Wszelkie dostosowania wprowadzone za pomocą tych atrybutów zastąpią ustawienia wprowadzone w panelu sterowania. Poniższy przykład pokazuje utworzenie dwukolumnowego elementu w wyszukiwarce z tymi funkcjami:
- Zarządzanie historią jest włączone
- Maksymalna liczba wyświetlanych pozycji autouzupełniania to 5
- Zawężenia wyszukiwania są wyświetlane jako linki.
<div class="gcse-searchbox" data-enableHistory="true" data-autoCompleteMaxCompletions="5"> <div class="gcse-searchresults" data-refinementStyle="link">
Obsługiwane atrybuty
Atrybut | Typ | Opis | Komponent |
---|---|---|---|
Ogólne | |||
gname |
Ciąg znaków | (Opcjonalnie) Nazwa obiektu elementu wyszukiwania. Nazwa służy do pobierania powiązanego komponentu według nazwy lub parowania komponentu searchbox z komponentem searchresults . Jeśli nie zostanie podany, Wyszukiwarka niestandardowa automatycznie wygeneruje element gname na podstawie kolejności komponentów na stronie. Na przykład pierwszy nienazwany searchbox-only ma gname "tylko pole wyszukiwania", drugi gname "seachbox-only1" itd.
Pamiętaj, że wartość gname wygenerowana automatycznie dla komponentu w układzie 2-kolumnowym to two-column . Ten przykład używa gname storesearch do połączenia komponentu searchbox z komponentem searchresults : <div class="gcse-searchbox" data-gname="storesearch"></div> <div class="gcse-searchresults" data-gname="storesearch"></div> Jeśli podczas pobierania obiektu więcej niż 1 komponent ma ten sam element |
Dowolny |
autoSearchOnLoad |
Wartość logiczna | Określa, czy wyszukiwanie ma być wykonywane przez zapytanie umieszczone w adresie URL strony, która się wczytuje. Pamiętaj, że aby wykonać automatyczne wyszukiwanie, adres URL musi znajdować się w adresie URL. Domyślnie: true . |
Dowolny |
enableHistory |
Wartość logiczna | Jeśli zasada true , umożliwia zarządzanie historią przycisków Wstecz i Dalej w przeglądarce. Obejrzyj prezentację. |
pole wyszukiwania tylko pole wyszukiwania |
queryParameterName |
Ciąg znaków | Nazwa parametru zapytania, np. q (wartość domyślna) lub query . Zostanie on osadzony w adresie URL (na przykład http://www.example.com?q=lady+gaga). Pamiętaj, że samo określenie nazwy parametru zapytania nie wywołuje automatycznego wyszukiwania po wczytaniu. Aby można było uruchomić automatyczne wyszukiwanie, adres URL musi zawierać ciąg zapytania. |
Dowolny |
resultsUrl |
URL | Adres URL strony wyników. Domyślnie jest to strona na serwerze Google. | tylko pole wyszukiwania |
newWindow |
Wartość logiczna | Określa, czy strona wyników ma się otwierać w nowym oknie.
Domyślnie: false . |
tylko pole wyszukiwania |
personalizedAds |
Wartość logiczna |
Określa, czy użytkownicy zgodzili się na udostępnianie Google danych osobowych przez wydawcę na potrzeby wyświetlania reklam spersonalizowanych.
Domyślny: Przykład użycia: |
wyniki wyszukiwania tylko wyniki wyszukiwania |
mobileLayout |
Ciąg znaków |
Określa, czy style układów mobilnych powinny być używane w przypadku urządzeń mobilnych.
Domyślny: Przykład użycia: |
Dowolny |
Autouzupełnianie | |||
enableAutoComplete |
Wartość logiczna | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone autouzupełnianie.
true umożliwia autouzupełnianie. |
Dowolny |
autoCompleteMaxCompletions |
Liczba całkowita | Maksymalna liczba pozycji autouzupełniania do wyświetlenia. | pole wyszukiwania tylko pole wyszukiwania |
autoCompleteMaxPromotions |
Liczba całkowita | Maksymalna liczba promocji wyświetlanych w autouzupełnianiu. | pole wyszukiwania tylko pole wyszukiwania |
autoCompleteValidLanguages |
Ciąg znaków | Lista oddzielonych przecinkami języków, dla których należy włączyć autouzupełnianie. Obsługiwane języki | pole wyszukiwania tylko pole wyszukiwania |
Zawężenia | |||
defaultToRefinement |
Ciąg znaków | Dostępne tylko po utworzeniu zawężeń wyszukiwania w panelu sterowania Wyszukiwarki niestandardowej. Określa domyślną etykietę zawężenia wyświetlania do wyświetlania.Uwaga: ten atrybut nie jest obsługiwany w układach hostowanych przez Google. | Dowolny |
refinementStyle |
Ciąg znaków | Akceptowane wartości to tab (domyślnie) i link .
Opcja link jest obsługiwana tylko wtedy, gdy wyszukiwanie grafiki jest wyłączone lub wyszukiwanie jest włączone, ale wyszukiwanie w internecie jest wyłączone. |
wyniki wyszukiwania tylko wyniki wyszukiwania |
Wyszukiwarka grafiki | |||
enableImageSearch |
Wartość logiczna | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Jeśli zasada |
wyniki wyszukiwania tylko wyniki wyszukiwania |
defaultToImageSearch |
Wartość logiczna | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Jeśli zasada |
Dowolny |
imageSearchLayout |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Określa układ strony wyników wyszukiwania grafiki. Akceptowane wartości to |
wyniki wyszukiwania tylko wyniki wyszukiwania |
imageSearchResultSetSize |
Liczba całkowita, ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Określa maksymalny rozmiar wyników wyszukiwania ustawionych dla wyszukiwania grafiki.
na przykład |
Dowolny |
image_as_filetype |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Ogranicza wyniki do plików określonego rozszerzenia. Obsługiwane rozszerzenia to | Dowolny |
image_as_oq |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Filtruj wyniki wyszukiwania za pomocą operatora logicznego LUB. Przykładowe zastosowanie, jeśli chcesz znaleźć wyniki wyszukiwania zawierające hasło „hasło1” lub „hasło2”: | Dowolny |
image_as_rights |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Filtry oparte na licencji. Obsługiwane wartości to Zobacz typowe kombinacje. | Dowolny |
image_as_sitesearch |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Ogranicza wyniki do stron z określonej witryny. Przykład użycia: | Dowolny |
image_colortype |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Ogranicza wyszukiwanie do czarno-białej (mono), skali szarości i kolorów. Obsługiwane wartości to | Dowolny |
image_cr |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Ogranicza wyniki wyszukiwania do dokumentów pochodzących z konkretnego kraju. | Dowolny |
image_dominantcolor |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Ogranicza wyszukiwanie do określonych kolorów dominujących.
Obsługiwane wartości to | Dowolny |
image_filter |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
automatyczne filtrowanie wyników wyszukiwania; Obsługiwane wartości: 0/1 Przykład użycia: | Dowolny |
image_gl |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone wyszukiwanie grafiki. Wzmocnij wyniki wyszukiwania, których kraj pochodzenia jest zgodny z wartością parametru. | Dowolny |
image_size |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Zwraca obrazy o określonym rozmiarze, czyli o rozmiarze | Dowolny |
image_sort_by |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Możesz posortować wyniki według daty lub innych uporządkowanych treści. Aby posortować wyniki według trafności, użyj pustego ciągu (image_sort_by="). Przykład użycia: | Dowolny |
image_type |
Ciąg znaków | Dostępne tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki.
Ogranicza wyszukiwanie do określonego typu obrazów.
Obsługiwane wartości to | Dowolny |
Wyszukiwarka Google | |||
disableWebSearch |
Wartość logiczna | Jeśli zasada true jest wyłączona, wyszukiwanie w internecie jest wyłączone. Zwykle używany tylko wtedy, gdy w panelu sterowania Wyszukiwarki niestandardowej jest włączone
wyszukiwanie grafiki. |
wyniki wyszukiwania tylko wyniki wyszukiwania |
webSearchQueryAddition |
Ciąg znaków | Dodatkowe hasła dodane do zapytania przy użyciu operatora logicznego LUB.
Przykład użycia: |
Dowolny |
webSearchResultSetSize |
Liczba całkowita, ciąg znaków | Maksymalny rozmiar zestawu wyników. Dotyczy to wyszukiwarki grafiki i wyszukiwarki. Wartość domyślna zależy od układu i tego, czy Wyszukiwarka niestandardowa jest skonfigurowana do przeszukiwania całej sieci czy tylko określonych witryn. Akceptowane wartości to:
|
Dowolny |
webSearchSafesearch |
Ciąg znaków |
Określa, czy filtr SafeSearch jest włączony w przypadku wyników z elementami rozszerzonymi. Akceptowane wartości to off i active .
|
Dowolny |
as_filetype |
Ciąg znaków | Ogranicza wyniki do plików określonego rozszerzenia. Listę typów plików, które Google może indeksować, znajdziesz w Centrum pomocy Search Console. | Dowolny |
as_oq |
Ciąg znaków | Filtruj wyniki wyszukiwania za pomocą operatora logicznego LUB.
Przykładowe zastosowanie, jeśli chcesz znaleźć wyniki wyszukiwania zawierające hasło „hasło1” lub „hasło2”: |
Dowolny |
as_rights |
Ciąg znaków | Filtry oparte na licencji.
Obsługiwane wartości to Typowe kombinacje znajdziesz na https://wiki.creativecommons.org/wiki/CC_Search_integration. | Dowolny |
as_sitesearch |
Ciąg znaków | Ogranicza wyniki do stron z określonej witryny.
Przykład użycia: |
Dowolny |
cr |
Ciąg znaków | Ogranicza wyniki wyszukiwania do dokumentów pochodzących z konkretnego kraju.
Przykład użycia: |
Dowolny |
filter |
Ciąg znaków | automatyczne filtrowanie wyników wyszukiwania;
Obsługiwane wartości: 0/1 Przykład użycia: |
Dowolny |
gl |
Ciąg znaków | Wzmocnij wyniki wyszukiwania, których kraj pochodzenia jest zgodny z wartością parametru.
Działa tylko w połączeniu z ustawieniem wartość języka. Przykład użycia: |
Dowolny |
lr |
Ciąg znaków | Ogranicza wyniki wyszukiwania do dokumentów napisanych w określonym języku.
Przykład użycia: |
Dowolny |
sort_by |
Ciąg znaków | Możesz posortować wyniki według daty lub innych uporządkowanych treści. Wartość atrybutu musi być jedną z opcji dostępnych w ustawieniach sortowania wyników w wyszukiwarce niestandardowej.
Aby posortować wyniki według trafności, użyj pustego ciągu (sort_by="). Przykład użycia: |
Dowolny |
Wyniki wyszukiwania | |||
enableOrderBy |
Wartość logiczna | Umożliwia sortowanie wyników według trafności, daty lub etykiety. | Dowolny |
linkTarget |
Ciąg znaków | Określa wartość elementu docelowego linku. Domyślnie: _blank . |
wyniki wyszukiwania tylko wyniki wyszukiwania |
noResultsString |
Ciąg znaków | Określa, jaki tekst pojawi się domyślnie, gdy żadne wyniki nie będą pasować do zapytania. Domyślny ciąg znaków może służyć do wyświetlania zlokalizowanego ciągu znaków we wszystkich obsługiwanych językach, a dostosowany – nie. | wyniki wyszukiwania tylko wyniki wyszukiwania |
resultSetSize |
Liczba całkowita, ciąg znaków | Maksymalny rozmiar zestawu wyników. na przykład large , small , filtered_cse , 10 . Wartość domyślna zależy od układu i tego, czy wyszukiwarka jest skonfigurowana do wyszukiwania w całej sieci czy tylko w określonych witrynach. |
Dowolny |
safeSearch |
Ciąg znaków | Określa, czy filtr
SafeSearch jest włączony zarówno w przypadku wyszukiwania w internecie, jak i w grafice. Akceptowane wartości to off i active . |
Dowolny |
Wywołania zwrotne
Wywołania zwrotne obsługują szczegółową kontrolę nad inicjowaniem i wyszukiwaniem elementów.
Są one rejestrowane za pomocą kodu JavaScript elementu wyszukiwania za pomocą globalnego obiektu __gcse
. Opcja Zarejestruj wywołania zwrotne pokazuje wszystkie obsługiwane wywołania zwrotne.
window.__gcse = {
parsetags: 'explicit', // Defaults to 'onload'
initializationCallback: myInitializationCallback,
searchCallbacks: {
image: {
starting: myImageSearchStartingCallback,
ready: myImageResultsReadyCallback,
rendered: myImageResultsRenderedCallback,
},
web: {
starting: myWebSearchStartingCallback,
ready: myWebResultsReadyCallback,
rendered: myWebResultsRenderedCallback,
},
},
};
Wywołanie inicjujące
Inicjacja wywołania zwrotnego jest wywoływana przed wyrenderowaniem elementów wyszukiwania w DOM przez element JavaScript elementu wyszukiwania. Jeśli parsetags
ma wartość explicit
w __gcse
, kod JavaScript elementu wyszukiwania pozostawia renderowanie elementów wyszukiwania dla wywołania zwrotnego inicjowania (jak pokazano w sekcji Rejestrowanie wywołań zwrotnych).
Tego elementu można użyć do wybrania elementów do wyrenderowania lub do odroczenia elementów renderowania, dopóki nie będą potrzebne. Może też zastąpić atrybuty elementów. Na przykład może zmienić pole wyszukiwania skonfigurowane za pomocą panelu sterowania lub atrybuty HTML w domyślne miejsce na wyszukiwarkę grafiki albo określić, że zapytania przesyłane za pomocą Wyszukiwarki niestandardowej są wykonywane w elemencie przeznaczonym tylko do wyszukiwania.
Obejrzyj prezentację.
Rola wywołania zwrotnego jest określana przez wartość właściwości __gcse
obiektu parsetags
.
- Jeśli jego wartość to
onload
, JavaScript elementu wyszukiwania automatycznie renderuje wszystkie elementy wyszukiwania na stronie. Wywołanie zwrotne inicjowania jest nadal wywoływane, ale nie odpowiada za renderowanie elementów wyszukiwania. - Jeśli jego wartość to
explicit
, kod JavaScript elementu wyszukiwania nie renderuje elementów wyszukiwania. Wywołanie zwrotne może renderować je selektywnie za pomocą funkcjirender()
lub renderować wszystkie elementy wyszukiwania za pomocą funkcjigo()
Ten kod pokazuje, jak renderować pole wyszukiwania wraz z wynikami wyszukiwania w div
za pomocą parstagu i wywołania inicjującego explicit
:
Musi to być element <div>
z wartością identyfikatora – w miejscu, w którym chcemy użyć kodu elementu wyszukiwania:
<div id="test"></div>
Dodaj ten kod JavaScript po elemencie <div>
. Zwróć uwagę na to, że chodzi o test
, id
, który posłużył do identyfikacji <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
};
Dołącz ten kod HTML, aby rozpocząć wczytywanie elementu wyszukiwania. Zastąp wartość cx
w klauzuli src
Twoją własną wartością cx
.
<script async
src="https://cse.google.com/cse.js?cx=000888210889775888983:y9tkcjel090"></script>
Wyszukaj wywołania zwrotne
JavaScript elementu Search obsługuje sześć wywołań zwrotnych, które działają w procesie kontroli wyszukiwania. Wywołania zwrotne w wyszukiwarce wyświetlają się w parych, wywołaniach wyszukiwania w internecie i pasujących wywołaniach wyszukiwania grafiki:
- Początek wyszukiwania
- Wyszukiwanie obrazów
- Wyszukiwanie w internecie
- Wyniki są gotowe
- Wyszukiwanie obrazów
- Wyszukiwanie w internecie
- Renderowanie wyników
- Wyszukiwanie obrazów
- Wyszukiwanie w internecie
Podobnie jak inicjowanie wywołania zwrotnego wywołania zwrotne wyszukiwania są konfigurowane z użyciem wpisów w obiekcie __gcse
. Dzieje się tak w momencie uruchomienia JavaScriptu elementu wyszukiwania. Modyfikacje wartości __gcse
po uruchomieniu są ignorowane.
Każde takie wywołanie zwrotne jest przekazywane jako gName
dla elementu wyszukiwania jako argument.
Pole gname
jest przydatne, gdy strona zawiera kilka wyszukiwań. Dodaj do elementu wyszukiwania wartość gname
za pomocą atrybutu data-gname
:
<div class="gcse-searchbox" data-gname="storesearch"></div>
Jeśli kod HTML nie identyfikuje elementu gname, kod JavaScript elementu wyszukiwania generuje wartość, która będzie taka sama do czasu zmodyfikowania tego kodu.
Początkowe wywołanie zwrotne wyszukiwarki grafiki lub wyszukiwarki
Początkowe wywołania zwrotne wyszukiwania są wywoływane bezpośrednio przed wywołaniem wyników wyszukiwania z pliku JavaScript elementu elementu. Może to być na przykład lokalna pora dnia w celu kontrolowania zmian w zapytaniu.
searchStartingCallback(gname, query)
gname
- Ciąg znaków elementu wyszukiwania
query
- wartość wpisana przez użytkownika (prawdopodobnie zmodyfikowana przez kod JavaScript elementu wyszukiwania).
Wywołanie zwrotne zwraca wartość, która powinna być użyta jako zapytanie w tym wyszukiwaniu. Jeśli jest pusty, zwracana wartość jest ignorowana, a element wywołujący używa niezmodyfikowanego zapytania.
Możesz też umieścić funkcję wywołania zwrotnego w obiekcie __gcse
lub dynamicznie dodawać wywołanie zwrotne do obiektu za pomocą JavaScriptu:
window.__gcse['searchCallbacks']['web']['starting'] = function(gname, query) {...};
Przykładowe wywołanie zwrotne rozpoczynające wyszukiwanie
W przypadku przykładowego wyszukiwania rozpoczynającego się wywołanie zwrotne w sekcji Przykładowe wywołanie zwrotne rozpoczyna się zapytanie morning
lub afternoon
– w zależności od pory dnia.
const myWebSearchStartingCallback = (gname, query) => {
const hour = new Date().getHours();
return query + (hour < 12 ? ' morning' : ' afternoon');
};
window.myImageSearchStartingCallbackName = myWebSearchStartingCallback;
Zainstaluj to wywołanie zwrotne w aplikacji 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>
Wywołanie zwrotne gotowe do wyświetlenia w wyszukiwarce lub wyniku w wyszukiwarce
Te wywołania zwrotne są wywoływane bezpośrednio przed renderowaniem wyników i wyników JavaScriptu Elementu wyszukiwania. Przykładowe zastosowanie to wywołanie zwrotne, które renderuje promocje i tworzy styl, którego nie można określić przy normalnym dostosowywaniu.
resultsReadyCallback(gname, query, promos, results, div)
gname
- Ciąg znaków elementu wyszukiwania
query
- zapytanie, które wygenerowało te wyniki
promos
- Tablica obiektów promocji, która odpowiada promocjom zapytania użytkownika. Zobacz definicję obiektów promocyjnych.
results
- tablica obiektów wyników. Zobacz definicję obiektów wyników.
div
- div HTML umieszczony w elemencie DOM, w którym element wyszukiwania zwykle umieszcza promocje i wyniki wyszukiwania Normalnie element div z funkcją Search zaradziłby JavaScript JavaScript, ale może to spowodować zatrzymanie automatycznego renderowania wyników i wykorzystanie tego
div
do renderowania samych wyników.
Jeśli to wywołanie zwrotne zwraca wartość true
, kod JavaScript elementu wyszukiwarki zostaje przekierowany do stopki strony.
Przykładowe gotowe wyniki wywołania
Przykładowe wywołanie zwrotne resultsReady
w przykładowym wywołaniu wywołania zwrotnego zastępuje domyślną prezentację promocji i wyników przy użyciu bardzo prostej zmiany.
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;
};
Zainstaluj to wywołanie zwrotne w aplikacji 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>
Podobnie jak w przypadku wyszukiwania początkowego, wywołanie zwrotne jest jednym z wielu sposobów umieszczenia wywołania zwrotnego w obiekcie __gcse
.
Renderowanie wywołania graficznego/wyników wyszukiwania w internecie
Te wywołania zwrotne są wywoływane bezpośrednio przed wyrenderowaniem stopki strony przez kod JavaScript elementu wyszukiwania. Może to być na przykład wywołanie zwrotne, które dodaje treść wynikową, której element wyszukiwania nie wyświetla, takie jak pole wyboru Zapisz ten wynik wyszukiwania, informacje, które nie są renderowane automatycznie, albo wywołanie zwrotne, które dodaje przycisk więcej informacji.
Jeśli wyrenderowane wywołanie zwrotne wyniku wymaga informacji, które znajdują się w parametrach promos
i results
wywołania gotowego wyniku, może przekazywać je między nimi w ten sposób:
callback(gname, query, promoElts, resultElts);
gname
- Ciąg znaków elementu wyszukiwania
query
- ciąg znaków.
promoElts
- tablica elementów DOM zawierających promocje.
resultElts
- tablica elementów DOM z wynikami.
Nie ma wartości zwrotu.
Przykładowe wywołanie zwrotne
Przykładowe wywołanie zwrotne resultsRendered
w przykładowym wywołanym wyniku wywołania dodaje charakterystyczne pole wyboru Zachowaj do każdej promocji i wyniku.
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);
}
};
Zainstaluj to wywołanie zwrotne w aplikacji 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>
Jeśli wyrenderowane wywołanie zwrotne wyników wymaga informacji, które zostały przekazane do wywołania gotowego do wywołania wyników, może przekazać te dane między wywołaniami zwrotnymi. Poniższy przykład pokazuje jeden ze sposobów przekazywania wartości oceny z pola richSnippet
od wywołania gotowego do wyników do wyrenderowanego wywołania zwrotnego.
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};
};
Zainstaluj to wywołanie zwrotne za pomocą tego kodu podczas konfigurowania __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>
Więcej przykładowych połączeń
Więcej przykładów wywołania zwrotnego znajdziesz w dokumencie Więcej przykładów wywołań zwrotnych.
Właściwości wyników i wyników
Korzystając z notacji JSDoc, są to właściwości obiektów promotion i result. Tutaj znajdziesz listę wszystkich dostępnych właściwości. Obecność wielu obiektów zależy od szczegółów promocji lub wyniku wyszukiwania.
{ content: string, image: { height: number, url: string, width: number, }, title: string, url: string, visibleUrl: string, }
{ 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
w wynikach ma luźny typ tablicy obiektów. Wartościami w tej tablicy zarządza uporządkowane dane znalezione na stronie internetowej w przypadku każdego wyniku wyszukiwania. Na przykład witryna z opiniami może zawierać uporządkowane dane, które dodają do tablicy richSnippet
ten wpis tablicy:
'review': { 'ratingstars': '3.0', 'ratingcount': '1024', },
Interfejs programmable Search Element Control API (V2)
Obiekt google.search.cse.element
publikuje te funkcje statyczne:
Funkcja | Opis | ||||||
---|---|---|---|---|---|---|---|
.render(componentConfig, opt_componentConfig) |
Renderuje element wyszukiwania.
Parametry
|
||||||
.go(opt_container) |
Renderuje wszystkie tagi lub klasy elementu Search w określonym kontenerze.
Parametry
|
||||||
.getElement(gname) |
Pobiera obiekt elementu według: gname . Jeśli nie zostanie znaleziony, zwracaj wartość null.
Zwrócony obiekt
Ten kod wykonuje zapytanie „wiadomości” w elemencie wyszukiwania „element1”: var element = google.search.cse.element.getElement('element1'); element.execute('news'); |
||||||
.getAllElements() |
Zwraca mapę wszystkich utworzonych obiektów, których klucz to gname . |