Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгами «webkit, popstate»



samdark
  • Репутация: 348
  • Сниппеты: 57
  • Ревизии: 5

Safari и старые Chrome вызывают лишнее событие popstate при начальной загрузке страницы. Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть.

Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие popstate всплывёт. Всплывает оно по load, поэтому вешаем обработчик на него. setTimeout с задержкой 0 нужен для того, чтобы обработчик был последним.

$(window).load(function() {
    setTimeout(function() {
        $(window).on('popstate', function (e) {
                // работаем
        });
    }, 0);
});