Поиск по сайту Google - Полностью настраиваемый поиск - PullRequest
0 голосов
/ 24 августа 2011

Я хочу использовать полностью настроенный поисковый ввод с поиском по сайту Google. Я хочу ввести текст, нажать кнопку поиска и перейти на страницу результатов. У меня это работает на моем сайте, однако я не могу полностью контролировать ввод поиска. Изначально я хотел обернуть его в тег, например, так:

<span class="trigger-a-search" title="Search">Search</span>
<p class="basic-search" id="headerSearch">
    <!-- Search field in here -->
</p>

Однако Google предоставляет блок кода для визуализации формы, и попытка вставить его в эти теги p не работает. Форма отображается как:

<span class="trigger-a-search" title="Search">Search</span>
<p class="basic-search" id="headerSearch">
    <!-- Google provided code goes here -->
</p>
<!-- Appears here -->

Таким образом, я не могу контролировать внешний вид поля ввода поиска, поместив его в тег, который мне нужен, чтобы он находился внутри.

Таким образом, я могу получить поисковый ввод на странице, и он работает, перенаправляя на страницу результатов поиска, но я не могу использовать свой собственный, полностью настраиваемый поисковый ввод, который будет переходить на ту же конкретную страницу результатов поиска, когда вы нажимаете " Поиск". Как бы вы это сделали?

1 Ответ

2 голосов
/ 24 августа 2011

на странице поиска вам не нужны никакие элементы управления, предоставленные Google.Вы можете просто использовать текстовое поле и кнопку.при событии нажатия кнопки сгенерируйте строку поиска и передайте ее на страницу результатов поиска.на странице результатов вы можете использовать Google Search API, чтобы получить результат поиска.

function initializeGSearch() {
   ws = new google.search.WebSearch();
   ws.setNoHtmlGeneration(); 
   ws.setSiteRestriction('YOUR SITE');
   ws.setResultSetSize(google.search.Search.LARGE_RESULTSET); //8 results
   ws.setSearchCompleteCallback(this, gotResults);
   ws.execute("SEARCH TEARM");  
}

function gotResults(){
        var resultcontent = '';
        var resultdiv = document.getElementById('searchresults');           

        for (i=0; i<ws.results.length; i++)
        {
            var result = ws.results[i];
            var url = result.unescapedUrl;
            var target = getTarget(url);
            var img = getImage(url);
            resultcontent += "<div class='dgsearchresultsbody'><a class='title' href='"+url+"' "+ target +">"+img+""+result.title+"</a><br/>"+result.content+"<br/><span class='url'>"+url+"</span></div><br/><br/>";
        }
        resultdiv.innerHTML = resultcontent;
        addPaginationLinks();

}
...