Refinement Panel: errore nel link Show more

Poche settimane fa sono incappato in un problema a dir poco “curioso”. Cliccando sul link “show more” nel refinement panel di una pagina dei risultati di ricerca personalizzata, al posto di mostrare un numero più ampio di scelte, non succedeva proprio niente.

Refinement Panel

Controllando con la developer toolbar ho notato l’errore di script seguente (The value of the property “SearchEnsureSOD” is null or undefined, not a Function object).

L’errore mi è sembrato molto strano, perchè XSLT e CSS a parte avevo solo rimosso la web part relativa al box di ricerca.

Dopo una breve ricerca ho scoperto che il punto è proprio questo. Senza la Search Box Web Part (o analgo controllo in master page) viene sollevata questa eccezione.

A questo punto mi sono incuriosito e ho cercato nel mio piccolo di approfondire un pò l’argomento. La prima cosa che ho notato analizzando le chiamate http della pagina con Fiddler è stata che con la web part in pagina vengono caricati due file javascript in più, il search.js e ajaxtoolkit.js.

Fiddler Results

Controllando l’output della pagina ho inoltre notato che, oltre a non effettuare la chiamata al file search.js, nella versione della pagina senza box di ricerca (web part o controllo non fa differenza) mancano una serie di funzioni javascript.

HTML

A pensarci bene avrei potuto fare un’altro paio di verifiche, ad esempio richiamare “a mano” il file search.js dal page layout, peccato non mi sia venuto in mente prima, maybe next time🙂

SearchEnsureSOD(-Riccardo)



Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...