Моя цель здесь - создать функцию Javascript в одностраничном приложении, которое может сказать мне, будет ли обратная кнопка делать что-либо.Где я в списке истории?
Я думал, что window.history.length
поможет мне: если длина такая же, как при запуске приложения, вы находитесь в начале, и функция ничего не должна делать.
Но нет. Представьте, что в приложении есть одна внутренняя ссылка, #a
. Когда вы запускаете приложение с новой вкладки, браузер находится в #
, длина равна 1, и вы знаете, что кнопка «Назад» ничего не сделает. Если вы нажмете #a
, вы перейдете на #a
, длина будет равна 2, и вы знаете, что кнопка «Назад» будет работать.
Затем, к сожалению, если вы нажмете кнопку «Назад», вы вернетесь к #
, но длина по-прежнему равна 2, потому что #a
находится в «будущей истории».
Помогите мне. Как узнать, активна ли кнопка «Назад»? Это убивает меня.
(Проблема немного осложняется тем, что в истории может быть URL-адрес с совершенно другого сайта. Для меня это должно рассматриваться как «неактивное», хотя сама кнопка будет сама по себе работа.)
Какие рамки вы используете для своего приложения на одной странице? –
Угловая, но это не имеет значения. Как это делается вообще? – Malvolio
см. Мой ответ для использования $ locationChangeSuccess в угловом –