View Single Post
  #1  
Old 08-23-2009, 08:44 AM
ThorstenA's Avatar
ThorstenA ThorstenA is offline
 
Join Date: Nov 2004
Posts: 669
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Free Google Search without Ads

This way you can include a free google search without showing ads on your page. Only 4 results are showed. Do you know a way how to fetch more results?

http://code.google.com/apis/ajax/pla..._as_user_types

Found the solution: Add
Code:
webSearch.setResultSetSize(google.search.Search.LARGE_RESULTSET);
Now you have an ad free automatic search for your whole site! Wonder how it really works out when using it intensively

The script is searching vbulletin.org, results are shown this way:
Site Title
Text from the page like you see it on google.com
(no url is shown!)

Code:
    <script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"></script>
    <script type="text/javascript">
   
    google.load('search', '1');
    
    var timerId;
    var input;
    var lastSearch = 0;
    var contentDiv;
    
    function search(query) {
      lastSearch++;
      webSearch = new google.search.WebSearch();
      webSearch.setSearchCompleteCallback(this, searchComplete, [webSearch, lastSearch]);
webSearch.setResultSetSize(google.search.Search.LARGE_RESULTSET);
  webSearch.setSiteRestriction('www.vbulletin.org');
      webSearch.execute(query);
    }
    
    function autoSearch() {
      // we're in the event's scope, that means this keyword = the input box.
      var query = this.value;
    
      // clear timer if there is one, set a new timer to do a search
      if (timerId) {
        window.clearTimeout(timerId);
        timerId = null;
      }
      timerId = window.setTimeout('search(\'' + query + '\')', 250);
    
    }
    
    function searchComplete(searcher, searchNum) {
      // Only display results if this search was the last one done.
      if (searchNum == lastSearch) {
        // clear last search if it exists
        var lastResults = document.getElementById('results');
        if (lastResults) {
          lastResults.parentNode.removeChild(lastResults);
        }
    
        var results = searcher.results;
        var newResultsDiv = document.createElement('div');
        newResultsDiv.id = 'results';
        for (var i = 0; i < results.length; i++) {
          var result = results[i];
          var resultHTML = '<a href="' + result.unescapedUrl + '" target="_blank"><strong><u>' + result.title + '</u></strong></a><br />' + '<a href="' + result.unescapedUrl + '" target="_blank">' +            result.content + '</a>' + '<br/><br/>';
          newResultsDiv.innerHTML += resultHTML;
        }
        contentDiv.appendChild(newResultsDiv);
      }
    }
    
    function OnLoad() {
      contentDiv = document.getElementById('content');
      input = new google.search.SearchForm(true, contentDiv);
      input.input.onkeyup = autoSearch;
      input.setOnSubmitCallback = function() {
        search(input.input.value);
      };
    }
    
    google.setOnLoadCallback(OnLoad);
    </script>

    <div id="content">Lade...</div>
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01115 seconds
  • Memory Usage 1,775KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete