Programmable Search Element Control API

Programlanabilir Arama Motoru bileşenlerini (arama kutuları ve arama sonuçları sayfaları), HTML işaretlemesini kullanarak web sayfalarınıza ve diğer web uygulamalarına yerleştirebilirsiniz. Bu Programlanabilir Arama Motoru öğeleri, yaptığınız tüm özelleştirmelerle birlikte Programlanabilir Arama sunucusu tarafından depolanan ayarlara göre oluşturulan bileşenlerden oluşur.

JavaScript'in tamamı eşzamansız olarak yüklenir. Bu, tarayıcı Programlanabilir Arama Motoru JavaScript'ini getirirken web sayfanızın yüklenmeye devam etmesini sağlar.

Giriş

Bu dokümanda, Web sayfanıza Programlanabilir Arama Motoru öğeleri eklemek için kullanılacak temel bir modelin yanı sıra öğenin yapılandırılabilir bileşenleri ve esnek JavaScript API açıklamaları da sağlanmaktadır.

Kapsam

Bu dokümanda, Programmable Search Engine Control API'ye özgü işlevlerin ve özelliklerin nasıl kullanılacağı açıklanmaktadır.

Tarayıcı uyumluluğu

Programlanabilir Arama Motoru'nun desteklediği tarayıcıların listesine buradan ulaşabilirsiniz.

Kitle

Bu doküman, sayfalarına Google Programlanabilir Arama işlevi eklemek isteyen geliştiricilere yöneliktir.

Programlanabilir Arama Öğeleri

Sayfanıza Programlanabilir Arama Öğesi eklemek için HTML işaretlemesini kullanabilirsiniz. Her öğe en az bir bileşenden oluşur: arama kutusu, arama sonucu bloğu veya her ikisi. Arama kutusu, aşağıdaki yöntemlerden herhangi birinde kullanıcı girişini kabul eder:

  • Metin giriş alanına bir arama sorgusu yazılan
  • URL'ye yerleştirilmiş bir sorgu dizesi
  • Programlı yürütme

Ayrıca, arama sonucu bloğu aşağıdaki girişleri kabul eder:

  • URL'ye yerleştirilmiş bir sorgu dizesi
  • Programlı yürütme

Aşağıdaki Programlanabilir Arama Öğeleri türleri kullanılabilir:

Öğe türü Bileşenler Açıklama
standart <div class="gcse-search"> Aynı <div> içinde görüntülenen bir arama kutusu ve arama sonuçları.
iki sütunlu <div class="gcse-searchbox"> ve <div class="gcse-searchresults"> Bir tarafta arama sonuçları, diğer tarafta arama kutusu bulunan iki sütunlu düzen. Web sayfanıza iki sütunlu modda birden fazla öğe eklemeyi planlıyorsanız arama kutusunu bir arama sonucu bloğuyla eşlemek için gname özelliğini kullanabilirsiniz.
yalnızca arama kutusu <div class="gcse-searchbox-only"> Bağımsız bir arama kutusu.
yalnızca arama sonuçları <div class="gcse-searchresults-only"> Bağımsız bir arama sonuçları bloğu.

Web sayfanıza istediğiniz sayıda geçerli Search Element ekleyebilirsiniz. İki sütunlu mod için gerekli tüm bileşenler (arama kutusu ve arama sonuçları bloğu) mevcut olmalıdır.

Basit bir Search Element örneği:

<!-- 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>

Programlanabilir Arama Öğeleri'ni kullanarak farklı düzen seçenekleri oluşturabilirsiniz

Programlanabilir Arama Motoru kontrol panelinin Görünüm ve İzlenim sayfasında aşağıdaki düzen seçenekleri bulunur. Programlanabilir Arama Öğeleri'ni kullanarak düzen seçenekleri oluşturmaya ilişkin bazı genel yönergeleri burada bulabilirsiniz. Bu seçeneklerin demosunu görmek için bağlantıyı tıklayın.

Option Bileşenler
Tam genişlik <div class="gcse-search">
Kompakt <div class="gcse-search">
İki sütunlu <div class="gcse-searchbox">, <div class="gcse-searchresults">
İki sayfa İlk sayfada <div class="gcse-searchbox-only">, ikinci sayfada <div class="gcse-searchresults-only"> (veya diğer bileşenler).
Yalnızca sonuçlar <div class="gcse-searchresults-only">
Google tarafından barındırılan <div class="gcse-searchbox-only">

Düzen seçenekleri hakkında daha fazla bilgi edinin.

Programlanabilir Arama Öğelerini Özelleştirme

Renkleri, yazı tipini veya bağlantı stilini özelleştirmek için programlanabilir arama motorunuzun Görünüm ve İzlenim sayfasına gidin.

Programlanabilir Arama Motoru denetim masasında oluşturulan yapılandırmaların üzerine yazmak için isteğe bağlı özellikleri kullanabilirsiniz. Bu sayede sayfaya özel bir arama deneyimi oluşturabilirsiniz. Örneğin, aşağıdaki kod, sonuç sayfasını (http://www.example.com?search=lady+gaga) yeni bir pencerede açan bir arama kutusu oluşturur. Sonuç URL'sini oluşturmak için kullanıcı sorgu dizesiyle birlikte queryParameterName özelliğinin değeri kullanılır.

queryParameterName özelliğinin önünde data- olduğunu unutmayın. Bu ön ek tüm özellikler için gereklidir.

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

Otomatik tamamlama veya hassaslaştırmalar gibi özellikleri etkinleştirmek için Programlanabilir Arama Motoru kontrol panelini kullandıysanız bu özellikleri özelleştirmek için özellikleri kullanabilirsiniz. Bu özellikleri kullanarak belirttiğiniz tüm özelleştirmeler, kontrol panelinde yapılan ayarları geçersiz kılar. Aşağıdaki örnek, şu özelliklere sahip iki sütunlu bir Search Element'i oluşturur:

  • Geçmiş yönetimi etkin
  • Görüntülenen maksimum otomatik tamamlama sayısı 5 olarak ayarlandı
  • Ayrıntılandırmalar bağlantı olarak görüntülenir.

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

Desteklenen özellikler

Özellik Tür Açıklama Bileşen
Genel
gname Dize (İsteğe bağlı) Search Element nesnesinin adı. Ad, ilişkilendirilmiş bileşeni ada göre almak veya searchbox bileşenini searchresults bileşeniyle eşlemek için kullanılır. Programlanabilir Arama Motoru, sağlanmazsa web sayfasındaki bileşenlerin sırasına göre otomatik olarak bir gname oluşturur. Örneğin, adsız ilk searchbox-only içinde gname "searchbox-only0", ikincisinde gname "seachbox-only1" vb. bulunur. İki sütunlu düzendeki bir bileşen için otomatik olarak oluşturulan gname değerinin two-column olacağını unutmayın. Aşağıdaki örnekte, searchbox bileşenini searchresults bileşeniyle bağlamak için storesearch gname kullanılmıştır:
<div class="gcse-searchbox" data-gname="storesearch"></div>
<div class="gcse-searchresults" data-gname="storesearch"></div>

Bir nesne alınırken birden fazla bileşende aynı gname bulunuyorsa Programlanabilir Arama Motoru sayfadaki son bileşeni kullanır.

Hepsi
autoSearchOnLoad Boole Yüklenen sayfanın URL'sine yerleştirilmiş sorguya göre bir arama yürütülüp yürütülmeyeceğini belirtir. Otomatik aramanın yürütülmesi için URL'de bir sorgu dizesinin olması gerektiğini unutmayın. Varsayılan: true. Hepsi
enableHistory Boole true ise tarayıcının Geri ve İleri düğmeleri için geçmiş yönetimini etkinleştirir. Demoya göz atın.

searchbox

yalnızca arama kutusu

queryParameterName Dize Sorgu parametresinin adı; örneğin, q (varsayılan) veya query. Bu, URL'ye yerleştirilir (örneğin, http://www.example.com?q=lady+gaga). Yalnızca sorgu parametresi adının belirtilmesinin yükleme sırasında otomatik aramayı tetiklemediğini unutmayın. Otomatik aramanın yürütülmesi için URL'de bir sorgu dizesi bulunmalıdır. Hepsi
resultsUrl URL Sonuçlar sayfasının URL'si. (Varsayılan, Google tarafından barındırılan sayfadır.) yalnızca arama kutusu
newWindow Boole Sonuçlar sayfasının yeni bir pencerede açılıp açılmayacağını belirtir. Varsayılan: false. yalnızca arama kutusu
ivt Boole

Bu parametre, hem izin verilen hem izin verilmeyen trafikte geçersiz bir yalnızca trafik çerezi ve yerel depolama alanı kullanan reklamlara izin vermek istediğinizi Google'a bildiren bir boole sağlamanıza olanak tanır.

true Bu parametre yoksa veya "true" olarak ayarlanırsa yalnızca trafik için geçersiz bir çerez ayarlar ve yerel depolamayı yalnızca izin verilen trafikte kullanırız.

false Bu parametreyi "false" olarak ayarladığınızda, yalnızca trafik için geçersiz bir çerez ayarlar ve hem izin verilen hem de izin verilmeyen trafikte yerel depolamayı kullanırız.

Varsayılan: false

Örnek kullanım: <div class="gcse-search" data-ivt="true"></div>

arama sonuçları

yalnızca arama sonuçları

mobileLayout Dize

Mobil düzen stillerinin mobil cihazlar için kullanılıp kullanılmayacağını belirtir.

enabled Mobil düzeni yalnızca mobil cihazlar için kullanır.

disabled Hiçbir cihazda mobil düzeni kullanmaz.

forced Tüm cihazlar için mobil düzeni kullanır.

Varsayılan: enabled

Örnek kullanım: <div class="gcse-search" data-mobileLayout="disabled"></div>

Hepsi
Otomatik tamamlama
enableAutoComplete Boole Yalnızca Programlanabilir Arama Motoru kontrol panelinde otomatik tamamlama etkinleştirildiyse kullanılabilir. true otomatik tamamlamayı etkinleştirir. Hepsi
autoCompleteMaxCompletions Tamsayı Görüntülenecek maksimum otomatik tamamlama sayısı.

searchbox

yalnızca arama kutusu

autoCompleteMaxPromotions Tamsayı Otomatik tamamlamada gösterilecek maksimum sıra yükseltme sayısı.

searchbox

yalnızca arama kutusu

autoCompleteValidLanguages Dize Otomatik tamamlamanın etkinleştirilmesi gereken dillerin virgülle ayrılmış listesi. Desteklenen diller.

searchbox

yalnızca arama kutusu

Ayrıntılandırmalar
defaultToRefinement Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde ayrıntılandırmalar oluşturulmuşsa kullanılabilir. Görüntülenecek varsayılan ayrıntılandırma etiketini belirtir.Not: Bu özellik, Google tarafından barındırılan düzen için desteklenmez. Hepsi
refinementStyle Dize tab (varsayılan) ve link değerleri kabul edilebilir. link, yalnızca görsel arama devre dışıysa ya da görsel arama etkinse ancak web araması devre dışıysa desteklenir.

arama sonuçları

yalnızca arama sonuçları

Görsel arama
enableImageSearch Boole Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

true ise görsel aramayı etkinleştirir. Görsel arama sonuçları ayrı bir sekmede gösterilir.

arama sonuçları

yalnızca arama sonuçları

defaultToImageSearch Boole Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

true ise arama sonuçları sayfasında varsayılan olarak görsel arama sonuçları gösterilir. Web sonuçları ayrı bir sekmede gösterilir.

Hepsi
imageSearchLayout Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Görsel arama sonuçları sayfasının düzenini belirtir. Kabul edilebilir değerler: classic, column veya popup.

arama sonuçları

yalnızca arama sonuçları

imageSearchResultSetSize Tam sayı, Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Resim arama için ayarlanan arama sonuçlarının maksimum boyutunu belirtir. Örneğin, large, small, filtered_cse, 10.

Hepsi
image_as_filetype Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Sonuçları, belirli bir uzantıya ait dosyalarla kısıtlar.

Desteklenen uzantılar şunlardır: jpg, gif, png, bmp, svg, webp, ico, raw.

Hepsi

image_as_oq Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Mantıksal VEYA kullanarak arama sonuçlarını filtreleyin.

"term1" veya "term2" ifadelerini içeren arama sonuçları istiyorsanız örnek kullanım:<div class="gcse-search" data-image_as_oq="term1 term2"></div>

Hepsi

image_as_rights Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Lisanslamaya dayalı filtreler.

Desteklenen değerler: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived ve bunların kombinasyonları.

Tipik kombinasyonlara göz atın.

Hepsi

image_as_sitesearch Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Sonuçları belirli bir sitedeki sayfalarla sınırlandırın.

Örnek kullanım: <div class="gcse-search" data-image_as_sitesearch="example.com"></div>

Hepsi

image_colortype Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Aramayı siyah beyaz (mono), gri tonlamalı veya renkli resimlerle kısıtlar. mono, gray, color değerleri desteklenir.

Hepsi

image_cr Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Arama sonuçlarını, belirli bir ülkeden gelen dokümanlarla kısıtlar.

Desteklenen değerler

Hepsi

image_dominantcolor Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Aramayı belirli bir baskın rengin görselleriyle kısıtlar. Desteklenen değerler şunlardır: red, orange, yellow, green, teal, blue, purple, pink, white, gray, black, brown.

Hepsi

image_filter Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Arama sonuçlarını otomatik olarak filtreleme.

Desteklenen değerler: 0/1

Örnek kullanım: <div class="gcse-search" data-image_filter="0"></div>

Hepsi

image_gl Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir. Menşe ülkesi parametre değeri ile eşleşen arama sonuçlarını geliştirir.

Desteklenen değerler

Hepsi

image_size Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Belirtilen boyuttaki görselleri döndürür. Buradaki boyutlar şunlardan biri olabilir: icon, small, medium, large, xlarge, xxlarge veya huge.

Hepsi

image_sort_by Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Sonuçları tarih veya başka bir yapılandırılmış içerik kullanarak sıralayın.

Alaka düzeyine göre sıralamak için boş bir dize (image_sort_by="") kullanın.

Örnek kullanım: <div class="gcse-search" data-image_sort_by="date"></div>

Hepsi

image_type Dize Yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılabilir.

Aramayı belirli türdeki görsellerle kısıtlar. Desteklenen değerler şunlardır: clipart (Küçük resim), face (İnsan yüzleri), lineart (Çizgi çizimler), stock (Stok fotoğraflar), photo (Fotoğraflar) ve animated (Animasyonlu GIF'ler).

Hepsi

Web araması
disableWebSearch Boole true ise web aramasını devre dışı bırakır. Genellikle yalnızca Programlanabilir Arama Motoru kontrol panelinde görsel arama özelliği etkinleştirilmişse kullanılır.

arama sonuçları

yalnızca arama sonuçları

webSearchQueryAddition Dize Mantıksal VEYA kullanılarak arama sorgusuna eklenen ekstra terimler.

Örnek kullanım: <div class="gcse-search" data-webSearchQueryAddition="term1 term2"></div>

Hepsi
webSearchResultSetSize Tam sayı, Dize Sonuç kümesinin maksimum boyutu. Hem görsel arama hem de web araması için geçerlidir. Varsayılan, düzene ve Programlanabilir Arama Motoru'nun tüm web'de mi yoksa yalnızca belirtilen sitelerde mi arama yapacak şekilde yapılandırıldığına bağlıdır. Kabul edilebilir değerler şunlardır:
  • 1-20 arasında bir tam sayı
  • small: Genellikle sayfa başına 4 sonuç içeren küçük bir sonuç kümesi ister.
  • large: Genellikle sayfa başına 8 sonuç içeren büyük bir sonuç kümesi ister.
  • filtered_cse: Maksimum 10 sayfa veya 100 sonuç için sayfa başına en fazla 10 sonuç ister.
Hepsi
webSearchSafesearch Dize Web arama sonuçları için SafeSearch'nın etkinleştirilip etkinleştirilmediğini belirtir. off ve active değerleri kabul edilir. Hepsi
as_filetype Dize Sonuçları, belirli bir uzantıya ait dosyalarla kısıtlar. Google tarafından dizine eklenebilen dosya türlerinin listesini Search Console Yardım Merkezi'nde bulabilirsiniz.

Hepsi

as_oq Dize Mantıksal VEYA kullanarak arama sonuçlarını filtreleyin.

"term1" veya "term2" ifadelerini içeren arama sonuçları istiyorsanız örnek kullanım:<div class="gcse-search" data-as_oq="term1 term2"></div>

Hepsi
as_rights Dize Lisanslamaya dayalı filtreler.

Desteklenen değerler: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived ve bunların kombinasyonları.

Tipik kombinasyonlar için https://wiki.creativecommons.org/wiki/CC_Search_integration sayfasına bakın.

Hepsi

as_sitesearch Dize Sonuçları belirli bir sitedeki sayfalarla sınırlandırın.

Örnek kullanım: <div class="gcse-search" data-as_sitesearch="example.com"></div>

Hepsi
cr Dize Arama sonuçlarını, belirli bir ülkeden gelen dokümanlarla kısıtlar.

Desteklenen değerler

Örnek kullanım: <div class="gcse-search" data-cr="countryFR"></div>

Hepsi
filter Dize Arama sonuçlarını otomatik olarak filtreleme.

Desteklenen değerler: 0/1

Örnek kullanım: <div class="gcse-search" data-filter="0"></div>

Hepsi
gl Dize Menşe ülkesi parametre değeri ile eşleşen arama sonuçlarını geliştirir.

Bu özellik yalnızca dil değeri ayarıyla birlikte kullanılabilir.

Desteklenen değerler

Örnek kullanım: <div class="gcse-search" data-gl="fr"></div>

Hepsi
lr Dize Arama sonuçlarını, belirli bir dilde yazılmış dokümanlarla kısıtlar.

Desteklenen değerler

Örnek kullanım: <div class="gcse-search" data-lr="lang_fr"></div>

Hepsi
sort_by Dize Sonuçları tarih veya başka bir yapılandırılmış içerik kullanarak sıralayın. Özellik değeri, programlanabilir arama aracının Sonuç Sıralama ayarlarında sağlanan seçeneklerden biri olmalıdır.

Alaka düzeyine göre sıralamak için boş bir dize (sort_by="") kullanın.

Örnek kullanım: <div class="gcse-search" data-sort_by="date"></div>

Hepsi
Arama sonuçları
enableOrderBy Boole Sonuçların alaka düzeyine, tarihe veya etikete göre sıralanmasını sağlar. Hepsi
linkTarget Dize Bağlantı hedefini ayarlar. Varsayılan: _blank.

arama sonuçları

yalnızca arama sonuçları

noResultsString Dize Sorguyla eşleşen sonuç olmadığında görüntülenecek varsayılan metni belirtir. Bir yerelleştirilmiş dizeyi desteklenen tüm dillerde görüntülemek için varsayılan sonuç dizesi kullanılabilir ancak özelleştirilmiş dize bunu desteklemez.

arama sonuçları

yalnızca arama sonuçları

resultSetSize Tam sayı, Dize Sonuç kümesinin maksimum boyutu. Örneğin, large, small, filtered_cse, 10. Varsayılan değer, düzene ve motorun tüm web'de mi yoksa yalnızca belirtilen sitelerde mi arama yapacak şekilde yapılandırıldığına bağlıdır. Hepsi
safeSearch Dize Güvenli Arama'nın hem web hem de görsel arama için etkinleştirilip etkinleştirilmediğini belirtir. off ve active değerleri kabul edilir. Hepsi

Geri Aramalar

Geri Arama Sırası Diyagramı
Search Element JavaScript&#39;ten gelen geri çağırmaların sıra şeması

Geri çağırmalar, arama öğesi başlatma ve arama işlemlerinin ayrıntılı kontrolünü destekler. Bunlar, Search Element JavaScript'e genel __gcse nesnesi aracılığıyla kaydedilir. Geri Çağırmaları Kaydet, desteklenen tüm geri çağırmaların kaydını gösterir.

Geri Aramaları Kaydet

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

Başlatma Geri Çağırması

Başlatma geri çağırması, Search Element JavaScript'i DOM'daki arama öğelerini oluşturmadan önce çağrılır. parsetags, __gcse içinde explicit değerine ayarlanırsa Search Element JavaScript, oluşturma işleminde Search Elements'i başlatma geri çağırmasına bırakır (Register Callbacks bölümünde gösterildiği gibi). Bu, oluşturulacak öğeleri seçmek veya gerekli olana kadar oluşturma öğelerini ertelemek için kullanılabilir. Ayrıca, öğelerin özelliklerini geçersiz kılabilir. Örneğin, Kontrol Paneli veya HTML özellikleri aracılığıyla yapılandırılmış bir arama kutusunu varsayılan olarak web aramasını web araması yapacak şekilde bir görsel arama kutusuna dönüştürebilir veya Programlanabilir Arama Motoru formu aracılığıyla gönderilen sorguların bir searchresults-only öğesi içinde yürütülmesini belirtebilir. Demoya göz atın.

Başlatma geri çağırma işleminin rolü, __gcse öğesinin parsetags özelliğinin değeri tarafından kontrol edilir.

  • Değeri onload ise Search Element JavaScript, sayfadaki tüm Search Elements öğelerini otomatik olarak oluşturur. Başlatma geri çağırması devam eder ancak Search Elements'in oluşturulmasından sorumlu değildir.
  • Değeri explicit ise Search Element JavaScript, Search Elements oluşturmaz. Geri çağırma, bunları render() işlevini kullanarak seçerek veya go() işleviyle tüm Arama Öğelerini oluşturabilir

Aşağıdaki kod, arama sonuçlarıyla birlikte explicit ayrıştırma etiketi ve başlatma geri çağırması kullanılarak div içinde nasıl arama kutusu oluşturulacağını gösterir:

Başlatma Geri Çağırması Örneği

Search Element kodunun olmasını istediğimiz bir kimlik değerine sahip bir <div> eklememiz gerekiyor:

    <div id="test"></div>
Bu JavaScript'i <div> öğesinden sonra ekleyin. Bu değerin test (<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
};
) öğesini tanımlamak için kullandığımız id öğesine başvurduğunu unutmayın

Search Element'i yüklemeye başlamak için bu HTML'yi ekleyin. src yan tümcesindeki cx değerini kendi cx değerinizle değiştirin.

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

Geri Aramaları Ara

Search Element JavaScript, arama kontrol akışında çalışan altı geri çağırmayı destekler. Arama geri çağırma işlevleri çiftler halinde, bir web araması geri çağırması ve eşleşen görsel arama geri çağırması olarak gelir:

  • Arama Başlıyor
    • Görsel arama için
    • Web araması için
  • Sonuçlar hazır
    • Görsel arama için
    • Web araması için
  • Oluşturulan sonuçlar
    • Görsel arama için
    • Web araması için

Başlatma geri çağırmasında olduğu gibi arama geri çağırmaları da __gcse nesnesindeki girişler kullanılarak yapılandırılır. Bu, Search Element JavaScript'i başladığında gerçekleşir. Başlatma sonrasında __gcse üzerinde yapılan değişiklikler yok sayılır.

Bu geri çağırmaların her birine, Search Element için bağımsız değişken olarak gName iletilir. gname, bir sayfada birden fazla arama bulunduğunda kullanışlıdır. data-gname özelliğini kullanarak bir arama öğesine gname değerleri verin:

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

HTML, gname adını tanımlamazsa Search Element JavaScript, HTML değiştirilene kadar tutarlı kalacak bir değer oluşturur.

Görsel/Web Aramasına Dayalı Geri Çağırma

Arama başlangıcı geri çağırmaları, Search Element JavaScript'i sunucusundan arama sonuçları istemeden hemen önce çağrılır. Sorgudaki değişiklikleri kontrol etmek için günün yerel saatini kullanmak örnek bir kullanım alanı olabilir.

searchStartingCallback(gname, query)
gname
Arama Öğesi'nin tanımlayıcı dizesi
query
kullanıcı tarafından girilen değer (muhtemelen arama öğesi JavaScript'i tarafından değiştirilmiştir.)

Geri çağırma, bu arama için sorgu olarak kullanılması gereken değeri döndürür. Boş bir dize döndürürse döndürülen değer yok sayılır ve çağrı yapan kişi değiştirilmemiş sorguyu kullanır.

Alternatif olarak, geri çağırma işlevini __gcse nesnesine yerleştirebilir veya geri çağırmayı JavaScript ile nesneye dinamik olarak ekleyebilirsiniz:

window.__gcse['searchCallbacks']['web']['starting'] = function(gname, query) {...};
Örnek Arama Başlatma Geri Çağırma

Örnek Arama Başlangıç Geri Çağırma bölümündeki örnek arama, günün saatine bağlı olarak sorguya morning veya afternoon ekler.

Geri Arama Başlangıç Örneği
    const myWebSearchStartingCallback = (gname, query) => {
      const hour = new Date().getHours();
      return query + (hour < 12 ? ' morning' : ' afternoon');
    };
    window.myImageSearchStartingCallbackName = myWebSearchStartingCallback;

Bu geri çağırmayı window.__gcse: uygulamasına yükleyin

  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>

Görsel/Web Arama Sonuçları İçin Hazır Geri Arama

Bu geri çağırma işlevleri, Search Element JavaScript'in tanıtımları ve sonuçları oluşturmadan hemen önce çağrılır. Örnek bir kullanım alanı, promosyonları oluşturan ve normal özelleştirmeyle belirtilemeyen bir stille sonuçlanan bir geri çağırmadır.

resultsReadyCallback(gname, query, promos, results, div)
gname
Arama Öğesi'nin tanımlayıcı dizesi
query
bu sonuçları oluşturan sorgu
promos
Kullanıcının sorgusu için eşleşen promosyonlara karşılık gelen tanıtım nesneleri dizisi. Promosyon nesnesi tanımına bakın.
results
sonuç nesneleri dizisi. Sonuç nesnesi tanımına bakın.
div
Arama Öğesi'nin normalde tanıtım ve arama sonuçlarını yerleştireceği DOM'de konumlandırılmış bir HTML div öğesidir. Normalde Search Element JavaScript, bu div öğesinin doldurulmasını gerçekleştirir, ancak bu geri çağırma, sonuçların otomatik olarak oluşturulmasını durdurmayı ve sonuçların kendisini oluşturmak için bu div öğesini kullanmayı seçebilir.

Bu geri çağırma true değeri döndürürse Search Element JavaScript, sayfa altbilgisi çalışmasına atlar.

Örnek Sonuçlar Hazır Geri Çağırması

Örnek Sonuçlar Hazır Geri Çağırması bölümündeki örnek resultsReady geri çağırması, çok basit bir değiştirme işlemiyle promosyonların ve sonuçların varsayılan sunumunu geçersiz kılar.

Sonuçlar Hazır Geri Çağırma Örneği
    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;
    };

Bu geri çağırmayı window.__gcse: uygulamasına yükleyin

  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>

Geri çağırmayı başlatan aramada olduğu gibi yukarıdaki yöntem, geri çağırmayı __gcse nesnesine yerleştirmenin birçok yolundan biridir.

Görsel/Web Arama Sonuçları - Oluşturulan Geri Arama

Bu geri çağırma işlevleri, Search Element JavaScript'in sayfa altbilgisini oluşturmadan hemen önce çağrılır. Örnek kullanım alanları, bunu kaydet onay kutusu veya otomatik olarak oluşturulmayan bilgiler gibi arama öğesinin göstermediği sonuç içeriği ekleyen bir geri çağırma ya da daha fazla bilgi düğmeleri ekleyen bir geri çağırmayı içerir.

Sonuçların oluşturduğu geri çağırma, sonuçların hazır geri çağırma işleminin promos ve results parametrelerinde bulunan bilgilere ihtiyaç duyarsa bu bilgileri aralarında aşağıdaki şekilde geçirebilir:

callback(gname, query, promoElts, resultElts);
gname
Arama Öğesi'nin tanımlayıcı dizesi
query
arama dizesine ayarlanır.
promoElts
Promosyonları içeren DOM öğeleri dizisi.
resultElts
Sonuçları içeren DOM öğeleri dizisi.

Döndürülen değer yoktur.

Örnek Sonuçlar Oluşturulan Geri Arama

Örnek Sonuçlar Oluşturulan Geri Çağırma bölümündeki örnek resultsRendered geri çağırması, her bir tanıtıma ve sonuca sahte bir Keep onay kutusu ekler.

Sonuçların Oluşturulan Geri Arama Örneği
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);
    }
  };

Bu geri çağırmayı window.__gcse: uygulamasına yükleyin

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>

Sonuçların oluşturduğu geri çağırma işlemi, sonuçlara hazır geri çağırmaya aktarılan bilgilere ihtiyaç duyuyorsa söz konusu verileri, geri çağırmalar arasında iletebilir. Aşağıdaki örnekte, sonuçlar hazır geri çağırması'ndan richSnippet noktasından bir puan değerini oluşturulan sonuçlara aktarmanın birçok yolundan biri gösterilmektedir.

Sonuçlarla Oluşturulan Geri Çağırma ile İşbirliğine Hazır Sonuçlara Hazır Geri Çağırma Örneği
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 kurulumu sırasında aşağıdaki gibi bir kod kullanarak bu geri çağırmayı yükleyin:
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>

Diğer Geri Arama Örnekleri

Diğer Geri Çağırma Örnekleri belgesinde, ek geri çağırma örnekleri bulabilirsiniz.

Tanıtım ve Sonuç Özellikleri

Bunlar, JSDoc gösterimi kullanılarak promotion ve sonuç nesnelerinin özellikleridir. Mevcut olabilecek tüm özellikleri burada listeledik. Mülklerin çoğunun varlığı, promosyonun veya arama sonucunun ayrıntılarına bağlıdır.

Sıra Yükseltme Özellikleri
{
  content: string,
  image: {
    height: number,
    url: string,
    width: number,
  },
  title: string,
  url: string,
  visibleUrl: string,
}
Sonuç Nesnesi Özellikleri
{
  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,
}

sonuçlardaki richSnippet değeri, bir nesne dizisinin gevşek türüne sahip. Bu dizideki girişlerin değerleri, her arama sonucu için web sayfasında bulunan yapılandırılmış veriler tarafından kontrol edilir. Örneğin, bir yorum web sitesi, bu dizi girişini richSnippet öğesine ekleyen yapılandırılmış veriler içerebilir:

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

Programmable Search Element Control API (V2)

google.search.cse.element nesnesi aşağıdaki statik işlevleri yayınlar:

İşlev Açıklama
.render(componentConfig, opt_componentConfig) Bir Arama Öğesi oluşturur.

Parametreler

Ad Açıklama
componentConfig Programlanabilir Search Element bileşeninin yapılandırması. Aşağıdakileri belirtir:
  • div (dize|Öğe): Programlanabilir Arama Öğesi'nin oluşturulacağı <div> veya div öğesinin id öğesi.
  • tag (dize): Oluşturulacak bileşenlerin türü. (opt_componentConfig sağlandığında tag özelliğinin değeri searchbox olmalıdır.) İzin verilen değerler şunlardır:
    • search: Arama kutusu ve arama sonuçları birlikte gösterilir
    • searchbox: Programlanabilir Arama Öğesi'nin arama kutusu bileşeni.
    • searchbox-only: opt_componentConfig tarafından iki sütunlu düzende belirtilen bir arama sonucu blokuyla eşleştirilecek bağımsız bir arama kutusu.
    • searchresults-only: Bağımsız bir arama sonuçları bloğu. Aramalar, URL'ye yerleştirilmiş bir sorgu parametresi tarafından veya programatik yürütme tarafından tetiklenir.
  • gname (dize): (İsteğe bağlı) Bu bileşen için benzersiz bir ad. Bu sağlanmazsa Programlanabilir Arama Motoru otomatik olarak bir gname oluşturacaktır.
  • attributes (Nesne): Anahtar:değer çifti biçimindeki isteğe bağlı özellikler. Desteklenen özellikler.
opt_componentConfig İsteğe bağlı. İkinci bileşen yapılandırma bağımsız değişkeni. searchresults bileşenini sağlamak için TWO_COLUMN modunda kullanılır. Aşağıdakileri belirtir:
  • div (dize): <div> öğesinin id veya öğenin oluşturulacağı div öğesi.
  • tag (dize): Oluşturulacak bileşenlerin türü. opt_componentConfig sağlandığında tag özelliğinin değeri searchresults olmalıdır. Ayrıca, componentConfig için tag özelliğinin değeri searchbox olmalıdır.
  • gname (dize): (İsteğe bağlı) Bu bileşen için benzersiz bir ad. Programlanabilir Arama Motoru, sağlanmazsa bu bileşen için otomatik olarak bir gname oluşturur. Bu değer sağlanmışsa componentConfig öğesindeki gname ile eşleşmelidir.
  • attributes (Nesne): Anahtar:değer çifti biçimindeki isteğe bağlı özellikler. Desteklenen özellikler.
.go(opt_container) Belirtilen kapsayıcıdaki tüm Search Element etiketlerini/sınıflarını oluşturur.

Parametreler

Ad Açıklama
opt_container Oluşturulacak Search Element bileşenlerini içeren kapsayıcı. Kapsayıcının (dize) kimliğini veya öğenin kendisini belirtin. Atlanırsa sayfanın body etiketi içindeki tüm Programmable Search Element bileşenleri oluşturulur.
.getElement(gname) gname tarafından öğe nesnesini alır. Bulunamazsa null değerini döndürün.

Döndürülen element nesnesi şu özelliklere sahiptir:

  • gname: Öğe nesnesinin adı. Programlanabilir Arama Motoru, sağlanmazsa nesne için otomatik olarak bir gname oluşturur. Daha fazla bilgi edinin.
  • type: Öğenin türü.
  • uiOptions: Öğeyi oluşturmak için kullanılan son özellikler.
  • execute - işlev(dize): Programatik bir sorgu yürütür.
  • prefillQuery - işlev(dize): Arama kutusunu, sorguyu yürütmeden bir sorgu dizesiyle önceden doldurur.
  • getInputQuery - Functions(): Giriş kutusunda görüntülenen geçerli değeri getirir.
  • clearAllResults - Functions(): Arama kutusu hariç her şeyi (varsa) gizleyerek kontrolü temizler.

Aşağıdaki kod, "element1" Arama Öğesinde "news" sorgusunu yürütür:

var element = google.search.cse.element.getElement('element1');
            element.execute('news');
.getAllElements() Başarıyla oluşturulmuş tüm öğe nesnelerinin eşlemesini gname ile anahtarlanmış şekilde döndürür.