Ответ 1
Кажется, что текущие браузеры не поддерживают атрибут title PushState. Вы можете легко достичь того же, установив его в JS.
document.title = "This is the new page title.";
Я только что открыл чистую HTML-страницу с небольшим количеством базовых тегов (например, html, body, head и т.д.) в Google Chrome и попытался выполнить следующую команду на консоли:
history.pushState(null, 'my test title', '/test/url');
События истории работают нормально, но заголовок страницы остается неизменным. Это нормально? Должен ли я каждый раз менять его вручную? Если я должен, почему есть такой параметр в методе pushState(), как title?
Кажется, что текущие браузеры не поддерживают атрибут title PushState. Вы можете легко достичь того же, установив его в JS.
document.title = "This is the new page title.";
Настройка заголовка с помощью document.title
не рекомендуется, если вы хотите хороший SEO.
History.js изящно поддерживает API-интерфейсы истории/состояния HTML5 (pushState, replaceState, onPopState) во всех браузерах. Включая постоянную поддержку данных, названий, replaceState. Поддерживает jQuery, MooTools и Prototype.
Следующий код изменит заголовок страницы при использовании history.pushState
$(document).prop('title','your page title');
Он также работает с IE.