location.search() prende il contenuto di tutto quello chè c'è a partire dal punto interrogativo.

Il substring invece dice prendi dal carattere 1 al carattere 3 della stringa. Se te devi passare un numero di caratteri imprecisato specifica 100 e vai tranquillo

Scusa se mi sono sbagliato a scrivere, ma intendevo dire

location.search().substring(1,100)