I've just added the functionality to use hashes, thanks for the suggestion. The tabs were accessible through URL params before, e.g. page=learn and for the chat rooms e.g. chat=general. Hash now takes precedence to set the tabs on load. Although the URL params would still work if no hash is provided.
I've also added an Id to each tab so the hash would be re-added on the URL for the specific tab opened.
Ah I see... I only used hash because that's what the address changes to when you click a tab. You can now use history.replaceState() to change the params in the address bar, if you want to change things to use that instead, maybe?