Maison interface Web Tutoriel H5 Introduction détaillée aux exemples d'utilisation de history.pushState() dans h5

Introduction détaillée aux exemples d'utilisation de history.pushState() dans h5

May 18, 2017 am 10:44 AM

Dans les fichiers HTML, la méthode history.pushState() ajoute un état à l'historique du navigateur.

pushState() prend trois paramètres : un objet d'état, un titre (maintenant ignoré) et une adresse URL facultative . Ces trois paramètres seront examinés en détail ci-dessous :

objet d'état —L'objet d'état est un objet JS créé par la méthode pushState() et lié à l'historique. Lorsque l'utilisateur est dirigé vers un nouvel état, l'événement popstate est déclenché. La propriété d'état de l'événement contient l'objet d'état de l'historique. (Note du traducteur : en bref, il stocke les chaînes JSON et peut être utilisé dans les événements popstate.) L'objet d'état peut être tout ce qui peut être sérialisé. Étant donné que Firefox stockera ces objets sur le disque de l'utilisateur, ces objets d'état seront donc restaurés après le redémarrage du navigateur par l'utilisateur, nous imposons une taille de chaîne maximale de 640 Ko sur la représentation sérialisée de l'objet d'état. Si vous transmettez un objet d'état avec une représentation sérialisée supérieure à 640 Ko à la méthode pushState(), cette méthode lèvera une exception. Si vous avez besoin de plus d'espace, il est recommandé d'utiliser sessionStorage ou localStorage.

title — Ce paramètre est désormais ignoré par Firefox et pourra être utilisé à l'avenir. Pour permettre d'éventuelles modifications futures, il est prudent de transmettre une chaîne vide. Bien sûr, vous pouvez transmettre un titre court pour l’État vers lequel vous souhaitez passer. (Note du traducteur : la plupart des navigateurs ne prennent plus en charge ou ignorent ce paramètre. Il est préférable d'utiliser null à la place)

URL — Ce paramètre fournit l'adresse du nouvel enregistrement historique. Veuillez noter que le navigateur ne chargera pas cette URL après avoir appelé la méthode pushState(), mais il pourra le faire plus tard, par exemple après que l'utilisateur aura redémarré le navigateur. La nouvelle URL ne doit pas nécessairement être une adresse absolue ; si elle est relative, elle doit l'être par rapport à l'URL actuelle. La nouvelle URL doit avoir la même origine que l'URL actuelle ; sinon, pushState() lèvera une exception. Ce paramètre est facultatif. S'il n'est pas spécifié, il sera défini sur l'URL actuelle du document.

Remarque : De Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) à Gecko 5.0 (Firefox 5.0 / Thunderbird 5.0 / SeaMonkey 2.2), les objets transférés sont sérialisés à l'aide de JSON. À partir de Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3), l'objet est sérialisé à l'aide de l'algorithme de clonage structuré. Cela permettra de transférer un objet plus diversifié.

Dans certains cas, appeler pushState équivaut à définir window.location = "#foo". Dans ce cas, les deux actions créeront et activeront un autre enregistrement d'historique lié à la page actuelle.

Mais pushState() présente d'autres avantages :

La nouvelle URL peut être n'importe quelle adresse sous la même origine que l'URL actuelle. Au contraire, définir window.location vous maintiendra sur la même page, à moins que vous ne modifiiez uniquement le hachage.

Si cela n'est pas nécessaire, vous ne pouvez pas modifier l'URL, et à la place, définissez window.location Défini sur "#foo" ; créera une nouvelle entrée d'historique uniquement si le hachage actuel n'est pas #foo.

Vous pouvez associer des données arbitraires à votre nouvelle entrée d'historique avec. l'approche basée sur le hachage, vous devez encoder toutes les données pertinentes dans une courte chaîne Vous pouvez associer n'importe quelle donnée à votre nouvel enregistrement d'historique. En utilisant une approche basée sur le hachage, vous codez toutes les données pertinentes dans une courte chaîne.

Veuillez noter que la méthode pushState() ne provoquera jamais l'activation de l'événement hashchange, même si la nouvelle URL ne diffère de l'ancienne qu'en termes de hachage.

Dans XUL, cela crée un élément XUL spécial.

Dans d'autres documents, un espace de noms URI vide sera créé.

Syntaxe EDIT

history.pushState(state, title, url);
Copier après la connexion

Exemple EDIT

Crée un nouvel historique de navigateur défini par état, titre et URL.

JavaScript

var state = { 'page_id': 1, 'user_id': 5 };
var title = 'Hello World';var url = 'hello-world.html';
history.pushState(state, title, url);
Copier après la connexion

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. js中的window.history的用法(一)

3. js中的window.history的用法(二)

4. 深入了解h5中history特性--pushState、replaceState

5. h5中History API 对Web应用的影响

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que signifie h5 ? Que signifie h5 ? Aug 02, 2023 pm 01:52 PM

H5 fait référence à HTML5, la dernière version de HTML. H5 est un langage de balisage puissant qui offre aux développeurs plus de choix et d'espace créatif. Son émergence favorise le développement de la technologie Web et rend l'interaction et l'effet des pages Web plus excellents. mûrit progressivement et devient populaire, je pense qu'il jouera un rôle de plus en plus important dans le monde d'Internet.

Comment distinguer H5, WEB front-end, big front-end et WEB full stack ? Comment distinguer H5, WEB front-end, big front-end et WEB full stack ? Aug 03, 2022 pm 04:00 PM

Cet article vous aidera à distinguer rapidement entre H5, WEB front-end, grand front-end et WEB full stack. J'espère qu'il sera utile aux amis dans le besoin !

Comment utiliser la position en h5 Comment utiliser la position en h5 Dec 26, 2023 pm 01:39 PM

Dans H5, vous pouvez utiliser l'attribut position pour contrôler le positionnement des éléments via CSS : 1. Positionnement relatif, la syntaxe est "style="position: relative;"; 2. Positionnement absolu, la syntaxe est "style="position : Absolute;" "; 3. Positionnement fixe, la syntaxe est "style="position:fixed;" et ainsi de suite.

Comment implémenter h5 pour glisser vers le haut du côté Web pour charger la page suivante Comment implémenter h5 pour glisser vers le haut du côté Web pour charger la page suivante Mar 11, 2024 am 10:26 AM

Étapes de mise en œuvre : 1. Surveiller l'événement de défilement de la page ; 2. Déterminer si la page a défilé vers le bas ; 3. Charger la page de données suivante ; 4. Mettre à jour la position de défilement de la page.

Comment implémenter le composant de validation de formulaire H5 dans vue3 Comment implémenter le composant de validation de formulaire H5 dans vue3 Jun 03, 2023 pm 02:09 PM

La description du rendu est basée sur vue.js et ne repose pas sur d'autres plug-ins ou bibliothèques ; les fonctions de base restent cohérentes avec element-ui, et certains ajustements ont été apportés à l'implémentation interne pour les différences mobiles. La plate-forme de construction actuelle est construite à l'aide de l'échafaudage officiel uni-app. Étant donné que la plupart des terminaux mobiles ont actuellement deux types : les mini-programmes h6 et WeChat, elle est très adaptée à la sélection technologique pour exécuter un ensemble de codes sur plusieurs terminaux. API de base de l'idée de mise en œuvre : utilisez provide et inject, correspondant à et. Dans le composant, une variable (tableau) est utilisée en interne pour stocker toutes les instances, et les données à transférer sont exposées via provide ; le composant utilise inject en interne pour recevoir les données fournies par le composant parent, et combine enfin ses propres attributs avec soumission de méthode

À quoi se réfère H5? Explorer le contexte À quoi se réfère H5? Explorer le contexte Apr 12, 2025 am 12:03 AM

H5Referstohtml5, apivotaltechnologyInwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp OrtsMultimeDiaHithoutPlugins, améliorant la réception detièmeaCrOsDevices.3) SemantelelementsImproveContentsTructureAndSeo.4) H5'sRespo

Résumé et introduction à la nouvelle balise de promotion H5 (avec exemples) Résumé et introduction à la nouvelle balise de promotion H5 (avec exemples) Aug 03, 2022 pm 05:10 PM

​Cet article vous donnera une introduction aux nouvelles balises de promotion H5. J'espère qu'il sera utile aux amis dans le besoin !

Code H5: accessibilité et HTML sémantique Code H5: accessibilité et HTML sémantique Apr 09, 2025 am 12:05 AM

H5 améliore l'accessibilité des pages Web et les effets SEO via des éléments sémantiques et des attributs ARIA. 1. Utiliser, etc. pour organiser la structure du contenu et améliorer le référencement. 2. Les attributs ARIA tels que Aria-Babel améliorent l'accessibilité, et les utilisateurs de technologies d'assistance peuvent utiliser en douceur les pages Web.

See all articles