Я гуглил это, когда столкнулся с той же проблемой.
Я проверял, было ли window.location.hash определенное значение, а затем соответственно настраивал вкладки моего меню.
Для менярешение было таким же простым, как запуск функции задержки в 10 миллисекунд, которая затем запускала мои основные функции.
Проблема для меня возникла из сценария, который проверял наличие изменений при точном время внесения изменений, не до, не после, но в то же время.Это заставило меня дважды щелкнуть мышью, чтобы оно снова изменилось, и чтобы функция заметила это изменение во второй раз.
Помните, что всегда проще запустить сценарий с задержкой в 5 миллисекунд, когда ничего не происходиткажется, чтобы зарегистрировать изменения.Это помогло мне снова и снова