Je viens d'ouvrir une page HTML vierge avec quelques balises de base (telles que html, body, head, etc.) dans Google Chrome et j'ai essayé d'exécuter la commande suivante dans la console:
history.pushState(null, 'my test title', '/test/url');
Les événements d’histoire fonctionnent bien, mais le titre de la page reste inchangé. Est-ce que c'est bon? Devrais-je le changer manuellement à chaque fois? Si je devais, pourquoi il y a un tel paramètre dans la méthode pushState () comme title?
Il semble que les navigateurs actuels ne prennent pas en charge l'attribut de titre pushState. Vous pouvez facilement réaliser la même chose en le configurant dans JS.
document.title = "This is the new page title.";
Définir le titre à l'aide de document.title
n'est pas recommandé si vous voulez un bon référencement.
History.js prend en charge avec élégance les API Historique/État HTML5 (pushState, replaceState, onPopState) dans tous les navigateurs. Y compris le soutien continu pour les données, les titres, replaceState. Prend en charge jQuery, MooTools et Prototype.
Le code suivant changera le titre de la page lorsque vous utiliserez history.pushState
$(document).prop('title','your page title');
Il travaille également avec IE.
Actuellement, le titre est modifié dans tous les navigateurs modernes utilisant history.Push (), mais vous devez modifier l'URL . Si vous ajoutez uniquement "#locationhash", le titre ne sera pas modifié, ce qui est logique.