2009-08-22 12 views
12

Penso che il titolo spieghi tutto ma approfondirò comunque la mia domanda:Fare uso della funzione OmniBox [TAB] di Google Chrome per/sul sito web personale?

Come posso utilizzare la funzione Omnibox [TAB] di Chrome per il mio sito web?

Come molti utenti mi hanno chiesto di implementare quella funzione sul sito, ho fatto ricerche su OpenSearchDescription e ho avuto molto successo nell'implementazione con la barra di ricerca di FireFox e IE7/IE8.

Eppure l'attuazione non ha funzionato del tutto per il Chrome Omnibox funzione [TAB] ..

Mi potete aiutare in questo?

Il mio codice OSD.xml:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" 
         xmlns:moz="http://www.mozilla.org/2006/browser/search/"> 
<ShortName>MySite</ShortName> 
<Description>My Site</Description> 
<InputEncoding>UTF-8</InputEncoding> 
<Image width="16" height="16" type="image/x-icon">http://MySite.com/favicon.ico</Image> 
<Url type="application/x-suggestions+json" method="GET" 
    template="http://ff.search.yahoo.com/gossip?output=fxjson&amp;command={searchTerms}" /> 
<Url type="text/html" method="POST" template="http://MySite.com/query.php"> 
    <Param name="sString" value="{searchTerms}"/> 
</Url> 
<Url type="application/x-suggestions+json" template="suggestionURL"/> 
<moz:SearchForm>http://www.MySite.com</moz:SearchForm> 
</OpenSearchDescription> 

E questo è il link al file OSD sulla mia pagina:

<link rel="search" type="application/opensearchdescription+xml" title="MySite" href="/opensearch.xml" /> 
+0

Non sapevo che potessimo fare questo, grazie per avermelo fatto accidentalmente. – HyderA

+0

possibile duplicato di [Come aggiungere il supporto per google chrome omnibox-search per il tuo sito?] (Http://stackoverflow.com/questions/7630144/how-to-add-google-chrome-omnibox-search-support-for- il tuo sito) –

risposta

4

Getting OSD (OpenSearchDescription) lavorare sotto Google Chrome o IE7/IE8 non è così difficile come si è detto, o che questi browser non supportano le richieste POST .

Con un po 'di regolazione, ho trovato una soluzione alternativa all'intero problema.

Il mio codice iniziale:

<Url type="text/html" method="POST" template="http://MySite.com/query.php"> 
    <Param name="sString" value="{searchTerms}"/> 
</Url> 

punti questo codice direttamente alla pagina di query e passa il valore per l'attributo sString su mia richiesta POST.

Che funziona perfettamente su FireFox ma non funziona bene su IE7/IE8 o Google Chrome (non ho ancora provato con Opera o Safari ..).


Alterare il codice di seguito piece:

<Url type="text/html" template="http://MySite.com/query.php?sString={searchTerms}"></Url> 
  • Rimozione method = "POST" dall'elemento
  • Sostituzione /query.php con l'attuale pagina chiamata: /query.php?sString={searchTerms}
  • Rimozione della ormai inutile "<Param name="sString" value="{searchTerms}"/>"

risolto il mio problema di incompatibilità con questi browser.

Tutte le chiamate sono indirizzate direttamente alla pagina della query e anche se inizialmente era una richiesta POST, ora funziona sia su IE7/IE8 sia su Google Chrome.

Grazie ancora adrianbanks per avermi fornito il file xml che ha portato alla soluzione!

+0

-1 La tua risposta con "Getting OpenSearchDescription funziona con Google Chrome o IE7/IE8 non è così difficile come accennato o che questi browser non supportano le richieste POST" e quindi procedi descrivendo in modo molto prolisso che quelli i browser infatti non supportano la ricerca tramite la richiesta POST ". – AndreKR

8

ho rispetto quello che hai contro l'OpenSearchDescription da solo sito e non riesco a capire perché il tuo non funzioni. L'unica vera differenza è che stai usando POST per cercare mentre sto usando GET. Secondo la pagina this, IE7 non supporta le richieste POST, quindi potrebbe essere che anche altri browser non supportino il POST.

Quello sul mio sito funziona sicuramente con IE8, Chrome 3.0 e FF 2.0+. Sentitevi liberi di confrontarli te stesso e vedere se è possibile individuare una differenza: opensearch.XML

+0

Grazie mille per il tuo grande aiuto e fornendo il tuo file osd! Ha portato alla soluzione. Scriverò una risposta che risolve il problema consente anche l'uso di POST in IE e Chrome :-)! –

Problemi correlati