Zachowywanie wartości pomiędzy stronami którą może edytować JS

Witam,

mam pewien problem, który nie wiem jak rozwiązać. Pasek nawigacji w mojej aplikacji jest skonstruowany na zasadzie kart. Kiedy klikamy na jakąś pozycję w menu to pojawia się submenu z odpowiednimi linkami. Jak najlepiej zachować informację o tym, z którego submenu zostaliśmy przeniesieni (którą pozycje w menu mieliśmy aktywną przed przejściem do nowej strony)?

Widzę jedno rozwiązanie: po kliknięciu w daną pozycję zapisywać wartość w Window.sessionStorage i przy załadowaniu nowej strony dodawać klasę “active” na podstawie tej wartości. Przychodzi wam na myśl jakieś rozsądniejsze wyjście?

Załatwiłem ten problem rozwiązaniem jakie znałem, czyli zapisałem wartość w Windows.sessionStorage.

    jQuery ->
        submenu_shown()

    submenu_shown = () ->
        $('a[data-toggle="tab"]').on 'shown.bs.tab', (e) ->
          change_current_submenu_in_storage(e)
          
    change_current_submenu_in_storage = (e) ->
          current_submenu = $(e.target).attr('href').replace(/^.*?(#|$)/,'');
          sessionStorage.setItem('current_submenu',  current_submenu);

    activate_current_submenu = () ->
        current_submenu = sessionStorage.getItem('current_submenu')
        console.log(current_submenu)
        $("##{current_submenu}_link").click()

Nie wiem czy nie lepiej by było załatwić to na poziomie generowania samego html.
W przypadku jak przeglądarka przymuli, będziesz mieć efekt zaznaczenia menu - czy co tam ma się dziać - dopiero po jakimś czasie tj, jak wykona się javascript.