Название страницы не изменено history.pushState

Я только что открыл чистую HTML-страницу с небольшим количеством базовых тегов (например, html, body, head и т.д.) в Google Chrome и попытался выполнить следующую команду на консоли:

history.pushState(null, 'my test title', '/test/url');

События истории работают нормально, но заголовок страницы остается неизменным. Это нормально? Должен ли я каждый раз менять его вручную? Если я должен, почему есть такой параметр в методе pushState(), как title?

Ответ 1

Кажется, что текущие браузеры не поддерживают атрибут title PushState. Вы можете легко достичь того же, установив его в JS.

document.title = "This is the new page title.";

Ответ 2

Настройка заголовка с помощью document.title не рекомендуется, если вы хотите хороший SEO.

History.js изящно поддерживает API-интерфейсы истории/состояния HTML5 (pushState, replaceState, onPopState) во всех браузерах. Включая постоянную поддержку данных, названий, replaceState. Поддерживает jQuery, MooTools и Prototype.

Demo

Источник

Ответ 3

Следующий код изменит заголовок страницы при использовании history.pushState

$(document).prop('title','your page title');

Он также работает с IE.