Autor Zpráva
Jakub Kříž
Profil *
Dobrý den,

snažím se již 17 hodin postavit script pro Google AJAX API WebSearch, ale zcela marně. Začnus problémem ale postupně.

Na Google code.google.com jsem se zaregistroval, založil svůj vyhledávač, zadal pár parametrů, vyjela mi okénka se scripty, formuláři a iframe. Inu, dobře, darovanému koni na zuby nekoukej, nakopal jsem to do layoutu, i to docela hledalo to co mělo, ale.. ale iframe se mi někam skovával, mizel za overflow, osekávalo mi to pulky řádků, hrůza... za boha to nešlo přestylovat, přepsat, pokusil jsem se přepsat googlovský zdrojáky, co jsem si stáhnut na stránkách google a vykuchat je, nic. Upustil jsem od tohoto řešení. V Google API jsem nalezl volbu AJAX v jakémsi plovoucím okně. Něco jako POP UP. Ten však měl téže zcela svou hlavu a ulétával si spokojeně na vlnách svého zdrojáku. I od tohoto řešení jsem upustil (ale ještě jsem jej nezavrhl, jen netuším, jak to okno dostat tam, kam patří). Začal jsem se vrtat v onom již zmiňovaném Google AJAX SEARCH API. Paráda, šlape to všechno, je to rychlé, pěkné, tam kde má být, ale, hledá to především to co nechci. Zajímají mě jen odkazy z toho jediného webu a ne z celého internetu. Dnes jsem celou noc stuoval googl api.. manuál a dokumentaci.. nechápu to. Nevím, usínám, jsem zoufalý....

Prosím, máte-li někdo nějaké zkušenosti s vlastním vyhledáváním od google, případně jiné alternativy, poradtě mi. Postaří ta magická formule, co omezí výsledky jen na jednu doménu a proskočím stropem radostí.

Pro úplnost zde uvádím jednoduchá kod:

<script type="text/javascript" src="http://www.google.com/jsapi?key=XXXXXXzde je muj osobni keyXXXXXX"></script>
<script type="text/javascript">
google.load("search", "1"); //API Google Hledání

function hlavni() {

var hledani = new google.search.SearchControl();
hledani.addSearcher(new google.search.WebSearch()); //hledání na webu
hledani.addSearcher(new google.search.ImageSearch()); //hledání v obrázcích
hledani.draw(document.getElementById("hledani"));


}
google.setOnLoadCallback(hlavni);


</script>

<div id="hledani"></div>
Jakub Kříž
Profil *
Tak jsem si dal vydtný oběd a osvítilo mě cosi z nebes....

<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=klíč google" type="text/javascript"></script> 



<script type="text/javascript"> 
  
  var coreSearch;
 
  function SolutionLoad() {
 
 
 
  var alphaRoot = document.getElementById("alpha");
  var controlRoot = document.createElement("div");
  alphaRoot.insertBefore(controlRoot, alphaRoot.firstChild);
 
    // create the search control
    coreSearch = new GSearchControl();
    coreSearch.setLinkTarget(GSearch.LINK_TARGET_SELF);
    coreSearch.setResultSetSize(GSearch.LARGE_RESULTSET);
 
    // prep for decoupled search form
    var searchFormElement = document.getElementById("searchform");
    var drawOptions = new GdrawOptions();
    drawOptions.setSearchFormRoot(searchFormElement);
    drawOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
 
    // populate - web, this blog, all blogs
    var searcher = new GwebSearch();
    searcher.setSiteRestriction("http://ddmhornislavkov.cz/");
    coreSearch.addSearcher(searcher);
 
 
    coreSearch.draw(controlRoot, drawOptions);
  }
 
  function doCoreSearch(q) {
    coreSearch.execute(q);
  }
  
  registerLoadHandler(SolutionLoad);
 
  function registerLoadHandler(handler) {
    var node = window;
    if (node.addEventListener) {
      node.addEventListener("load", handler, false);
    } else if (node.attachEvent) {
      node.attachEvent("onload", handler);
    } else {
      node['onload'] = handler;
    }
    return true;
  }
 
</script> 
 



<h1>Hledání:</h1>

<div id="searchform">Loading...</div> 
        

<div id="alpha"></div>



No a ted už jen nastylovat 27 tříd v CSS a tradá:-) určitě to jde elegantněji, jestli někdo ví jak, tak prosím, ale svého primárního cíle jsem už dosáhl...
ouque
Profil *
prosim vas ale me to nic nedela :-)
Jakub Kříž
Profil *
A máte svůj Google klíč???? bez něj to opravdu nejde.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: