🔎

Programmable Search Engineで入力欄が複数

2024/10/16に公開

忘れないうちにメモしとこうという走り書き。
走り書きでもいいからとりあえず残す癖をつけようという偉い俺。

ググるのも面倒だったってのはあるけど
Programmable search engine

検索結果は1つだけど入力エリアを複数設けたい場合は
<div class='gcse-searchbox' gname='sitesearch'></div>
を設置せずこう。

searchForms.forEach((searchForm) => {
    searchForm.addEventListener('submit', (e) => handler(e))
})

function handler(e: Event) {
    e.preventDefault()

    const inputEle: HTMLInputElement = e.target.querySelector('#word')
    const query = inputEle.value

    const cseElements = google.search.cse.element.getAllElements()
    const cseKeys = Object.keys(cseElements)
    const cseElement = cseElements[cseKeys[0]]

    cseElement.execute(query)
}

google.search.cse.element.getElement() も存在するけど引数に渡すvalueがようわからんのでkeysとって最初のkeyからElementを取得した。

名前がElementなのでDOMかな?と思うけどただのObjectぽい。
これはあくまで検索したい条件のが1つの場合。

なかなかな走り書きだ。

できれば google.search.cse のtypesあればよかったけど見つからなかったんだよなぁ。。

Discussion