Что такое «данные» в window.history.replaceState - PullRequest
5 голосов
/ 19 сентября 2011

Мы работаем над проектом, используя window.history.replacestate. К сожалению, мы не очень хороши в JavaScript.

По сути, мы используем его для замены любого количества коротких ссылок на корневую ссылку. Например:

domain.com/fJfk8
domain.com/9dkDl
domain.com/fjgdD

все "появятся" как:

domain.com/nice_url

Это не должно работать, поэтому мы поместим javascript на страницу, а в браузерах это будет здорово, а если нет, они получат шорткод.

Примечание: мы не хотим истории!

Итак, мы просто используем:

window.history.replaceState('Object','Nice URL Title', '/nice_url');

Вопрос в том, что это работает, но мы не понимаем часть «Объект» (данные).

Что именно это?

1 Ответ

3 голосов
/ 19 сентября 2011

Можно установить для параметра Object произвольные данные, которые будут доступны в параметре state объекта event, который доступен в событии popstate.

Другими словамивы можете установить для него любое значение, чтобы помочь вам восстановить веб-страницу до желаемого состояния, когда пользователь перемещается по своей истории.

Для получения дополнительной информации см. документацию MDC в window.history .

window.history.replaceState({
    foo: 'bar'
}, 'Nice URL Title', '/nice_url');

window.onpopstate = function (e) {
    if (typeof e.state == "object" && e.state.foo == "bar") {
        alert("Blah blah blah");
    }
};

window.history.go(-1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...