ThorstenA |
08-23-2009 08:44 AM |
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>
|