#javascript #vue.js #browser #browser-history
#язык JavaScript #vue.js #браузер #история браузера
Вопрос:
В Vue 3 у меня есть lt;componentgt;
, который принимает html — код, который является ответом от бэкенда. В этом html есть сторонняя библиотека, в которой есть некоторые методы, history.pushState
которые изменяют работу кнопки «Назад» браузера.
Прямо сейчас, когда этот компонент инициализирован, он ничего не добавляет в историю браузера. Всякий раз, когда какие-то данные меняются и внешние компоненты необходимо пересчитать, я вижу, что длина истории равна n 3. Таким образом, когда я нажимаю кнопку «Назад», ничего не происходит, пока она не будет нажата n раз, как в истории браузера. Кстати, URL-адрес никак не меняется.
Мой вопрос в том, можно ли что-нибудь сделать, чтобы предотвратить эти нежелательные добавления в историю браузера?
Пытался поймать, когда пользователь нажимает кнопку «Назад» с помощью прослушивателя событий popstate, но он ничего не делает как ничего.
Комментарии:
1. Если библиотека не позволяет настроить такое поведение, вы мало что можете сделать. Вероятно, обрабатывайте нежелательные записи в истории с помощью onpopstate или onpushstate
2. @EstusFlask кажется, что вы подтвердили мои мысли, и я ничего не могу здесь сделать, потому что прослушиватель событий onpopstate в моей ситуации не срабатывает. Спасибо!