<rmcreative>

RSS

Все заметки с тегами «JavaScript, Chrome»

Можно уточнить:

    (1)
    (1)
    (1)
  1. popstate, webkit и старый Chrome

    20 февраля 2015

    Вроде бы рекомендацию HTML5 приняли, поддержка JavaScript везде неплохая. Думал, проблем поработать с историей браузера не будет.

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

    Изучение кода pjax и гугление дало много разных решений. Вот правильное (код для jQuery, но без него будет примерно оно же):

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

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

    6 комментариев
  2. Определяем браузер из JS

    29 января 2009

    В продолжение темы определения браузеров Gareth Heyes привёл хаки для других распространённых браузеров:

    Читаем

    5 комментариев