Session history management

- LS

Method of manipulating the user's browser's session history in JavaScript using history.pushState, history.replaceState and the popstate event.

IE

  1. 5.5 - 9
  2. 10
  3. 11

Edge

  1. 12 - 81
  2. 83

Firefox

  1. 2 - 3.6
  2. 4 - 75
  3. 76
  4. 77 - 78

Chrome

  1. 4
  2. 5 - 81
  3. 83
  4. 84 - 86

Safari

  1. 3.1 - 4
  2. 5 - 5.1
  3. 6 - 13
  4. 13.1
  5. TP

Opera

  1. 9 - 11.1
  2. 11.5 - 67
  3. 68

iOS Safari

  1. 3.2 - 4.1
  2. 4.2
  3. 5 - 13.3
  4. 13.4

Opera Mini

  1. all

Android Browser

  1. 2.1
  2. 2.2 - 2.3
  3. 3 - 4.1
  4. 4.2 - 4.4.4
  5. 81

Blackberry Browser

  1. 7
  2. 10

Opera Mobile

  1. 10 - 11
  2. 11.1 - 12.1
  3. 46

Chrome for Android

  1. 81

Firefox for Android

  1. 68

IE Mobile

  1. 10
  2. 11

UC Browser for Android

  1. 12.12

Samsung Internet

  1. 4 - 10.1
  2. 11.1

QQ Browser

  1. 10.4

Baidu Browser

  1. 7.12

KaiOS Browser

  1. 2.5

Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful.

Resources:
Demo page
Introduction to history management
MDN Web Docs - Manipulating the browser history
History.js polyfill
has.js test
WebPlatform Docs