Calling phonon.navigator().changePage(pageName) does not do anything if pageName is a prefix of phonon.navigator().currentPage.
The following conditions prevents unnecessary changes from the current page to the current page, but it prevents changes to other pages with the current page name as a prefix, too.
if(window.location.hash.indexOf(hash) === -1 && opts.useHash) {
   window.location.hash = hash;
}