Подтвердить что ты не робот

Как узнать, поддерживает ли браузер History.Pushstate или нет?

Я хочу изменить URL без перезагрузки страницы. Возможное решение, которое я нашел,

window.history.pushState('page2', 'Title', '/page2.php');

но некоторые браузеры, такие как Firefox 3.5, IE6 + не поддерживают это, поэтому для них решение

var uri = window.location.href;

но проблема в том, как узнать, поддерживает ли браузер history.pushstate или нет?

Является ли TRY CATCH возможным решением или чем-то еще.

4b9b3361

Ответ 1

if (history.pushState) {
  // supported.
}

Самый быстрый тест - запустить его в консоли браузера, чтобы узнать, поддерживается ли он:

if (history.pushState) { alert('supported'); }

Также обратите внимание, что в FF typeof(history.pushState) возвращается "функция", а в IE возвращается "undefined"