Ну, грустно, что ты не использовал нормальный роутер изначально, а прилил свой костыль. Теперь у тебя два пути: переписать всё с использованием роутера или вкорячить ещё один костыль.
Первое сложнее сейчас, но в дальнейшем куда проще в развитии.
Второе быстрее сейчас, но чревато полной невозможностью поддержки в будущем.
В первом случае понятно что делать, во втором - написать что-то с использованием history api. Что-то сложное и замороченное, учитывающее конкретно твоё приложение, с применением pushState
и реакцией на popstate
.