Per integrare il sito con le abitudini degli utenti si potrebbe fornire una estensione per firefox, ha il pregio di essere custom per il sito internet in questione ma funziona solo su ff (nn a caso si chiama “estensione per Firefox”:) ); putroppo Internet Explorer risulta essere ancora il web browser piu’ utilizzato, ed inoltre pensando al futuro, se prima o poi mi compro un mac i siti che faccio devono essere compatibili con Safari. I “Search Engines” fanno al caso mio essendo regolati dallo standard “OpenSearch” (e supportano anche Opera per la gioia di alcuni :) ).

Definizione di un motore di ricerca

I “Search Engines” sono file XML che riportano i dati x eseguire ricerche su un sito dalla textbox integrata nel browser. Per Equilibri, ad esempio, l’interfaccia al motore di ricerca e’:

<?xml version=”1.0″?>
<OpenSearchDescription xmlns=”http://a9.com/-/spec/opensearch/1.1/”>
<ShortName>Equilibri.net</ShortName>
<Description>Equilibri.net – Cerca tra le pubblicazioni</Description>
<Image height=”16″ width=”16″ type=”image/x-icon”>http://www.equilibri.net/toolbar_search.ico</Image>
<Url type=”text/html” template=”http://www.equilibri.net/risultati?q={searchTerms}” />
</OpenSearchDescription>

Il tag shortName e’ visualizzato nel menu’ a tendina, mentre non ho ancora capito dove venga utilizzato il campo Description (mi aspetto che sia qualcosa tipo un tooltip)(se qualcuno sa’, allora parli!) ). Per l’icona da visualizzare accanto al nome della ricerca (che puo’ essere nel formato ico, gif, jpeg, png) e’ consigliato specificare almeno due immagini, tramite il tag Image, una da 64×64 ed una da 16×16; sinceramente nn avevo voglia di fare un’icona ad alta risoluzione, e nn ne ho neppure le competenze.

Il protocollo e’ pensato sia per web browser, che per i feed reader; l’attributo type del tag URL puo’ definire come parametro di ritorno un qualsiasi formato del web, tipo “application/rss+xml”. L’attributo template indica l’url che il browser/reader deve seguire per la ricerca, il testo {searchTerms} verra’ sostituito con la ricerca dell’utente (gia codificata per le url :) ); sarebbe possibile definire altri parametri per l’attributo template, ma questo e’ solo un esempio pratico.
Per ogni valore del campo “type” e’ necessario definire un tag URL.

Aggiungere un motore di ricerca

Per informare il browser che e’ il sito offre funzionalita’ di ricerca integrate si aggiunge il tag link nell’header della pagina web con attributo type importato a “application/opensearchdescription+xml” e rel a “search”

<link rel=”search” type=”application/opensearchdescription+xml” title=”Cerca su Equilibri.net” href=”http://www.equilibri.net/opensearch.xml”/>

Aggiungere un motore di ricerca con link cross-browser

L’utente pero’ e’ coscente del search engine solo se fa’ click sul bottone con la lista dei motori di ricerca … come dire tempo 2 minuti sprecati perche’ nn lo vedra’ mai; vediamo un secondo modo che attraverso javascript permette di aggiungere un link visibile nella pagina web:

function addEngine()
{
if ((typeof window.sidebar == “object”) && (typeof window.sidebar.addSearchEngine == “function”))
{
window.sidebar.addSearchEngine(
“http://www.equilibri.net/opensearch.src”, /* URL search engine */
“http://www.equilibri.net/toolbar_search.ico”, /* URL icona */
“Equilibri.net”, /* nome engine/sito internet */
“News” ); /* categoria in cui aggiungere il motore */
return true;
} else {
if (window.external.AddSearchProvider) {
window.external.AddSearchProvider(‘http://www.equilibri.net/opensearch.xml’);
return true;
}
}
alert(“Il tuo browser nn e’ supportato”);
/* sarebbe molto gradito un commento che spiegasse come far funzionare lo script anche su opera! */
}

Il primo if serve per gestire i motori di ricerca in firefox (<= 1.5) mentre il secondo funziona su internet explorer e firefox (>= 2) e forse anche su opera (ma nn ci metterei le palle sul fuoco) .

Il file opensearch.src definisce una estensione dei motori di ricerca per firefox (penso che questo metodo possa funziona per ogni versione di firefox anche la 1.0); il formato del file e’:

<search
version=”1.0″
name=”Equilibri.net”
description=”Equilibri.net – Cerca tra le pubblicazioni”
action=”http://www.equilibri.net/risultati”
method=”GET”>

<input name=”q” user>

</search>

<browser
update=”http://www.equilibri.net/opensearch.src”
updateIcon=”http://www.equilibri.net/toolbar_search.ico”
updateCheckDays=”30″>

2 Risposte a “Creare un motore di ricerca per le toolbar di Firefox 2 e Internet Explorer 7 in 2 minuti”

  1. ig Dice:

    ma io non ci ho capito niente su questo articolo!!!


Lascia un commento