404 utilizzando window.location.href su Internet Explorer ma non su Chrome e Firefox. Come mai?

Perché su Internet Explorer non funzionano correttamente window.location.href che invece funzionano su Chrome e  Firefox? 

Purtroppo a differenza degli altri browser, IE utilizzando window.location.href per i redirect in pagine interne funziona soltanto con gli "/" davanti e nel caso non vengano messi tutta la path presente verrà inserita in coda alla URL corrente.

Esempio pratico:
supponiamo che mi trovi nella pagina http://www.newtvision.com/blog/ e cliccando su un link di una categoria venga chiamata una funzione JavaScript che assegna a window.location.href il valore dell'href del link #TYPO3

<a href="blog/parole-chiavi/typo3/" class="tags">#Typo3</a>

Ottenendo la seguente assegnazione:

window.location.href="blog/parole-chiavi/typo3/"

Su Chrome e Firefox il link risultante sarà http://www.newtvision.com/blog/parole-chiavi/typo3/ invece su IE avremo www.newtvision.com/blog/blog/parole-chiavi/typo3/ perché la un assegnazione senza "/" iniziale aggiungerà in coda la path.

 

Avendo invece lo "/" iniziale avremo un funzionamento corretto su tutti i browser.

window.location.href="/blog/parole-chiavi/typo3/"