dev-resources.site
for different kinds of informations.
Web History API Explained with Examples
Web History API: āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻ˛ā§āĻāĻ¨āĻž
Web History API āĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° API, āĻ¯āĻž āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° history stack-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻ āĻĻā§āĻ¯āĻŧāĨ¤ History API-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻŦā§āĻ¯āĻžāĻ (back) āĻāĻŦāĻ āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ (forward) āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨āĻā§ āĻ¨āĻŋā§āĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ¨āĻ āĻĒā§āĻ āĻ°āĻŋāĻ˛ā§āĻĄ āĻāĻžāĻĄāĻŧāĻžāĻ URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ Single Page Application (SPA)-āĻ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°ā§ āĻĒā§āĻ āĻ°āĻŋāĻ˛ā§āĻĄ āĻ¨āĻž āĻāĻ°ā§ URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻžāĻā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
Web History API-āĻāĻ° āĻāĻžāĻ
History API āĻŽā§āĻ˛āĻ¤ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° history stack āĻā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°ā§āĨ¤ history stack āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ (āĻ¯ā§āĻŽāĻ¨, back āĻŦāĻž forward āĻāĻ°āĻž) āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°ā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ history stack-āĻāĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻžāĻ āĻĨāĻžāĻā§:
- back: āĻāĻā§āĻ° āĻĒā§āĻā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĨ¤
- forward: āĻĒāĻ°ā§āĻ° āĻĒā§āĻā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž, āĻ¯āĻĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒā§āĻ°ā§āĻŦā§ back āĻāĻ°ā§āĻā§āĻ¨āĨ¤
- push: āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻž (āĻ¯ā§āĻŽāĻ¨, āĻ¨āĻ¤ā§āĻ¨ URL push āĻāĻ°āĻž)āĨ¤
History API-āĻāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŽā§āĻĨāĻĄ āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻ°ā§āĻāĻŋāĻ
Web History API āĻāĻŋāĻā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŽā§āĻĨāĻĄ āĻ āĻĒā§āĻ°ā§āĻĒāĻžāĻ°ā§āĻāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻž history stack āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŽā§āĻĨāĻĄāĻā§āĻ˛ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ:
1. history.pushState()
history.pushState()
āĻŽā§āĻĨāĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻ¤ā§āĻ¨ state (āĻ
āĻŦāĻ¸ā§āĻĨāĻž) āĻāĻŦāĻ URL history stack-āĻ push āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻž āĻĒā§āĻ āĻ°āĻŋāĻ˛ā§āĻĄ āĻāĻžāĻĄāĻŧāĻžāĻ URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ Single Page Applications (SPA)-āĻ āĻā§āĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻ¨ā§ āĻĒā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻĄ āĻ¨āĻž āĻāĻ°ā§ āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
history.pushState(state, title, url);
- state: āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻŦāĻā§āĻā§āĻ āĻ¯āĻž āĻ¨āĻ¤ā§āĻ¨ history entry-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻĨāĻžāĻā§āĨ¤ āĻ¯āĻāĻ¨ āĻ¸ā§āĻ entry āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ active āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻ¸ā§āĻ state āĻ āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻāĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤
- title: āĻāĻāĻŋ āĻāĻāĻāĻŋ string, āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻāĻžāĻāĻā§āĻ˛ āĻŦāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ (āĻ¯āĻĻāĻŋāĻ āĻ āĻ§āĻŋāĻāĻžāĻāĻļ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻž)āĨ¤
- url: āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ URL, āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ URL-āĻāĻ° āĻŽāĻ¤ā§āĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ āĻĨāĻŦāĻž āĻāĻ˛āĻžāĻĻāĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¤āĻŦā§ URL-āĻāĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻ origin-āĻ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
// URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻāĻ°ā§ state push āĻāĻ°āĻž
history.pushState({page: 1}, "Title 1", "/page1");
āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§, /page1
āĻ¨āĻžāĻŽāĻ āĻ¨āĻ¤ā§āĻ¨ URL history stack-āĻ push āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĒā§āĻ āĻ°āĻŋāĻ˛ā§āĻĄ āĻ¨āĻž āĻāĻ°ā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° back āĻŦā§āĻ¤āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻā§āĻ° āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻĢāĻŋāĻ°ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĨ¤
2. history.replaceState()
history.replaceState()
āĻŽā§āĻĨāĻĄāĻāĻŋ pushState()
āĻāĻ° āĻŽāĻ¤ā§āĻ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻāĻŋ history stack-āĻ āĻ¨āĻ¤ā§āĻ¨ entry āĻ¯ā§āĻ āĻ¨āĻž āĻāĻ°ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ entry-āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĨ¤ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒā§āĻā§āĻ° URL āĻŦāĻž state āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŋāĻ¨ā§āĻ¤ā§ history stack-āĻ āĻ¨āĻ¤ā§āĻ¨ entry āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¨āĻž, āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
history.replaceState(state, title, url);
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
history.replaceState({page: 2}, "Title 2", "/page2");
āĻāĻ āĻŽā§āĻĨāĻĄāĻāĻŋ pushState()
āĻāĻ° āĻŽāĻ¤ā§āĻ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ history entry-āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§, āĻ¨āĻ¤ā§āĻ¨ entry āĻ¯ā§āĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤
3. history.back()
, history.forward()
, āĻāĻŦāĻ history.go()
āĻāĻ āĻŽā§āĻĨāĻĄāĻā§āĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ history stack-āĻ back āĻāĻŦāĻ forward āĻŽā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
-
history.back()
: history stack-āĻ āĻāĻā§āĻ° āĻĒā§āĻā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° back āĻŦā§āĻ¤āĻžāĻŽā§āĻ° āĻŽāĻ¤ā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
history.back(); // āĻāĻā§āĻ° āĻĒā§āĻā§ āĻ¨ā§āĻ¯āĻŧ
-
history.forward()
: āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ history entry-āĻ¤ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° forward āĻŦā§āĻ¤āĻžāĻŽā§āĻ° āĻŽāĻ¤ā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
history.forward(); // āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻā§ āĻ¨ā§āĻ¯āĻŧ
-
history.go(n)
: history stack-āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¨ā§āĻāĻŋāĻā§āĻ āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋn
āĻĒāĻāĻŋāĻāĻŋāĻ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¯āĻžāĻ¯āĻŧ, āĻāĻ° āĻ¨ā§āĻā§āĻāĻŋāĻ āĻšāĻ˛ā§ āĻŦā§āĻ¯āĻžāĻ āĻ¯āĻžāĻ¯āĻŧāĨ¤
history.go(-1); // āĻāĻā§āĻ° āĻĒā§āĻā§ āĻ¯āĻžāĻ¯āĻŧ
history.go(1); // āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻā§ āĻ¯āĻžāĻ¯āĻŧ
4. popstate
Event
popstate
āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻ¤āĻāĻ¨ āĻāĻā§ āĻ¯āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ back āĻŦāĻž forward āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ state āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ history stack āĻĨā§āĻā§ state āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ
ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻ¨āĻŋāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĨ¤
window.addEventListener('popstate', function(event) {
console.log("State: ", event.state);
});
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
// āĻ¸ā§āĻā§āĻ āĻĒā§āĻļ āĻāĻ°āĻž āĻšāĻā§āĻā§
history.pushState({page: 1}, "Page 1", "/page1");
history.pushState({page: 2}, "Page 2", "/page2");
// āĻĒāĻĒāĻ¸ā§āĻā§āĻ āĻāĻā§āĻ¨ā§āĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ
window.addEventListener('popstate', function(event) {
console.log("State changed: ", event.state);
});
āĻ¯āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° back āĻŦāĻž forward āĻŦā§āĻ¤āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¤āĻāĻ¨ popstate
āĻāĻā§āĻ¨ā§āĻāĻāĻŋ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻšāĻŦā§ āĻāĻŦāĻ state āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ event.state āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ state āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§āĨ¤
āĻā§āĻ¨ Web History API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨?
1. Single Page Application (SPA) āĻ¤ā§āĻ°āĻŋāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§
Single Page Application (SPA) āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°ā§ āĻĒā§āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻĄ āĻ¨āĻž āĻāĻ°ā§āĻ āĻāĻ¨ā§āĻā§āĻ¨ā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ History API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻā§āĻ° āĻŽāĻ¤ā§ URL āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¸āĻ˛ā§ āĻĒā§āĻ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻžāĻā§ āĻāĻ°ā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°ā§, āĻāĻžāĻ°āĻŖ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻĄ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
2. SEO āĻ Social Media Integration āĻ¸āĻšāĻ āĻšāĻ¯āĻŧ
āĻ¯ā§āĻšā§āĻ¤ā§ History API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻ āĻāĻā§āĻāĻŋāĻ¨ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ (SEO) āĻāĻŦāĻ āĻ¸ā§āĻļā§āĻ¯āĻžāĻ˛ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻļā§āĻ¯āĻŧāĻžāĻ°āĻŋāĻāĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§āĨ¤ āĻ¯āĻāĻ¨ āĻā§āĻ¨ āĻĒā§āĻ āĻŦāĻž āĻ¤āĻžāĻ° āĻ āĻāĻļ URL-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻ¤āĻž āĻ¸ā§āĻļā§āĻ¯āĻžāĻ˛ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ¸āĻšāĻā§ āĻļā§āĻ¯āĻŧāĻžāĻ° āĻŦāĻž āĻ¸āĻžāĻ°ā§āĻ āĻāĻā§āĻāĻŋāĻ¨ā§ āĻ¸ā§āĻāĻŋāĻā§āĻ¤ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
3. āĻŦā§āĻ¯āĻžāĻ-āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻž
History API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻšāĻā§āĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻŦā§āĻ¯āĻžāĻ āĻāĻŦāĻ āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻ° āĻĢāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ state-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¨ā§āĻāĻŋāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻāĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŽā§āĻŦāĻžāĻāĻ˛ āĻŦāĻž āĻā§ā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĻāĻ°āĻāĻžāĻ° āĻšā§āĨ¤
4. āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨
āĻā§āĻ¨āĻ āĻĒā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻĄ āĻ¨āĻž āĻāĻ°ā§ URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ history stack āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ seamless āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻĒāĻžāĻ¯āĻŧāĨ¤
Web History API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§āĻā§āĻ
Browser Support: āĻ¯āĻĻāĻŋāĻ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°āĻā§āĻ˛ā§ History API āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻŋāĻā§ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°, āĻ¯ā§āĻŽāĻ¨ Internet Explorer 9-āĻāĻ° āĻāĻā§, āĻāĻāĻŋ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻŋāĻāĻžāĻ° āĻĄāĻŋāĻā§āĻāĻļāĻ¨ āĻŦāĻž āĻĢāĻŋāĻ˛āĻŦā§āĻ¯āĻžāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
Security Issues: History API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ cross-origin URL-āĻ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ¤ā§ malicious scripts āĻā§āĻ¨ā§ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻĒā§āĻā§ āĻ¨ā§āĻāĻŋāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
Web History API āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻā§āĻ˛, āĻ¯āĻž āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° history stack āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻ-āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ āĻ°āĻŋāĻ˛ā§āĻĄ āĻāĻžāĻĄāĻŧāĻžāĻ URL āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĨ¤ āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ Single Page Applications (SPA)-āĻ āĻāĻ° āĻā§āĻŽāĻŋāĻāĻž āĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻŽ, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ seamless āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ History API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° native back/forward āĻĢāĻŋāĻāĻžāĻ°āĻā§āĻ˛ā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻāĻ°āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
Featured ones: