EN RU
Форум

Методология

Технологии

Инструментарий

Библиотеки

Учебные материалы

DocumentationJSDocSource

history

Блок, обеспечивающий взаимодействие с браузерным History API с помощью двух модификаторов:

  • provider_history-api – если есть встроенная поддержка History API;
  • provider_hashchange – реализация с помощью фолбэка hashchange.

Использование

modules.require(['history'], function(History) {

    // Создаем инстанс history
    var history = new History();

    // Добавляем запись или заменяем текущее состояние с помощью методов pushState/replaceState
    history.changeState('push', { title: 'Title', url: 'http://example.org:8080/path' });
    history.changeState('replace', { title: 'Title', url: 'http://example.org:8080/path?test=1' });

});

Module history

Augments:events:Emitter
BEM wrap for History API.

Instance methods:

pushState(data, title, [url]):Object
description
Adds new state to browsing history.
parameters
data
Object
New state data.
title
String
Document title.
url
String
Location url.
replaceState(data, title, [url]):Object
description
Replaces current state.
parameters
data
Object
New state data
title
String
Document title.
url
String
Location url.
changeState(method, state):Object
description
Changes current state. By default it performs simple page redirect. Method may be extended in modificators.
parameters
method
String
Push or Replace method.
state
Object

history_provider_hashchange

Augments:Base
Modificator for BEM-block history which provides history API support through hashchange fallback.

Instance methods:

changeState(method, state)
description
Change window location hash
parameters
method
String
state
Object

history_provider_history-api

Augments:Base
Modificator for BEM-block history which provides native history API support.

Instance methods:

changeState(method, state):event
description
Change window location hash
parameters
method
String
state
Object