Home Web Front-end H5 Tutorial Detailed introduction to the usage examples of history.pushState() in h5

Detailed introduction to the usage examples of history.pushState() in h5

May 18, 2017 am 10:44 AM

In HTML files, the history.pushState() method adds a state to the browser history.

pushState() takes three parameters: a state object, a title (now ignored), and an optional URL address . These three parameters will be examined in detail below:

state object —The state object is a JS object created by the pushState() method and related to the history record. When the user is directed to a new state, the popstate event is triggered. The event's state property contains the history's state object. (Translator's Note: In short, it stores JSON strings and can be used in popstate events.) The state object can be anything that can be serialized. Since Firefox will store these objects on the user's disk, so these state objects will be restored after the user restarts the browser, we impose a maximum string size of 640k on the serialized representation of the state object. If you pass a state object with a serialized representation greater than 640k to the pushState() method, this method will throw an exception. If you need more space, it is recommended to use sessionStorage or localStorage.

title — This parameter is now ignored by Firefox and may be used in the future. To allow for possible future changes, it is safe to pass an empty string. Of course, you can pass a short title for the state you want to transition to. (Translator's Note: Most browsers now do not support or ignore this parameter. It is best to use null instead)

URL - This parameter provides the address of the new historical record. Please note that the browser will not load this URL after calling the pushState() method, but it may do so later, such as after the user restarts the browser. The new URL does not have to be an absolute address; if it is relative, it must be relative to the current URL. The new URL must be under the same origin as the current URL; otherwise, pushState() will throw an exception. This parameter is optional. If it is not specified, it will be set to the current URL of the document.

Note: In Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) to Gecko 5.0 (Firefox 5.0 / Thunderbird 5.0 / SeaMonkey 2.2), transferred objects are serialized using JSON. Starting with Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3), the object is serialized using the structured clone algorithm. This will allow a more diverse object to be transferred.

In some cases, calling pushState is equivalent to setting window.location = "#foo". In this case, both actions will create and activate another history record related to the current page.

But pushState() has other advantages:

The new URL can be any address under the same origin of the current URL. On the contrary, setting window.location will keep you on the same page unless you only change the hash.

If not necessary, you can not change the URL. Instead, set window.location Set to "#foo"; will only create a new history record if the current hash is not #foo.

You can associate arbitrary data with your new history entry. With the hash-based approach, you need to encode all of the relevant data into a short string. You can associate any data into your new history record. Using a hash-based approach, you encode all relevant data into a short string.

Please note that the pushState() method will never cause the hashchange event to be activated, even if the new URL is different from the old one only in hash.

In XUL, it creates a special XUL element.

In other documents, an empty URInamespace will be created.

SyntaxEDIT

history.pushState(state, title, url);
Copy after login

Sample EDIT

Created A new browser history set by state, title, and url.

JavaScript

var state = { 'page_id': 1, 'user_id': 5 };
var title = 'Hello World';var url = 'hello-world.html';
history.pushState(state, title, url);
Copy after login

【相关推荐】

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

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

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

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

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

The above is the detailed content of Detailed introduction to the usage examples of history.pushState() in h5. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What does h5 mean? What does h5 mean? Aug 02, 2023 pm 01:52 PM

H5 refers to HTML5, the latest version of HTML. H5 is a powerful markup language that provides developers with more choices and creative space. Its emergence promotes the development of Web technology, making the interaction and effect of web pages more Excellent, as H5 technology gradually matures and becomes popular, I believe it will play an increasingly important role in the Internet world.

How to distinguish between H5, WEB front-end, big front-end, and WEB full stack? How to distinguish between H5, WEB front-end, big front-end, and WEB full stack? Aug 03, 2022 pm 04:00 PM

This article will help you quickly distinguish between H5, WEB front-end, large front-end, and WEB full stack. I hope it will be helpful to friends in need!

How to use position in h5 How to use position in h5 Dec 26, 2023 pm 01:39 PM

In H5, you can use the position attribute to control the positioning of elements through CSS: 1. Relative positioning, the syntax is "style="position: relative;"; 2. Absolute positioning, the syntax is "style="position: absolute;" "; 3. Fixed positioning, the syntax is "style="position: fixed;" and so on.

How to implement h5 to slide up on the web side to load the next page How to implement h5 to slide up on the web side to load the next page Mar 11, 2024 am 10:26 AM

Implementation steps: 1. Monitor the scroll event of the page; 2. Determine whether the page has scrolled to the bottom; 3. Load the next page of data; 4. Update the page scroll position.

How to implement H5 form validation component in vue3 How to implement H5 form validation component in vue3 Jun 03, 2023 pm 02:09 PM

The rendering description is based on vue.js and does not rely on other plug-ins or libraries; the basic functions remain consistent with element-ui, and some adjustments have been made to the internal implementation for mobile terminal differences. The current construction platform is built using the uni-app official scaffolding. Because most mobile terminals currently have two types: h6 and WeChat mini-programs, it is very suitable for technology selection to run one set of code on multiple terminals. Implementation idea core api: use provide and inject, corresponding to and. In the component, a variable (array) is used internally to store all instances, and the data to be transferred is exposed through provide; the component uses inject internally to receive the data provided by the parent component, and finally combines its own attributes with method submission

What Does H5 Refer To? Exploring the Context What Does H5 Refer To? Exploring the Context Apr 12, 2025 am 12:03 AM

H5referstoHTML5,apivotaltechnologyinwebdevelopment.1)HTML5introducesnewelementsandAPIsforrich,dynamicwebapplications.2)Itsupportsmultimediawithoutplugins,enhancinguserexperienceacrossdevices.3)SemanticelementsimprovecontentstructureandSEO.4)H5'srespo

H5 Code: Accessibility and Semantic HTML H5 Code: Accessibility and Semantic HTML Apr 09, 2025 am 12:05 AM

H5 improves web page accessibility and SEO effects through semantic elements and ARIA attributes. 1. Use, etc. to organize the content structure and improve SEO. 2. ARIA attributes such as aria-label enhance accessibility, and assistive technology users can use web pages smoothly.

Summary and introduction to the new H5 promotion tag (with examples) Summary and introduction to the new H5 promotion tag (with examples) Aug 03, 2022 pm 05:10 PM

​This article will give you an introduction to the new H5 promotion tags. I hope it will be helpful to friends in need!

See all articles