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

Обрабатываем popstate кроссбраузерно


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

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

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

Автор


samdark
  • Репутация: 349
  • Сниппеты : 57
  • Ревизии : 5
Подписаться

Другие варианты сниппета Отсортировано по рейтингу


  Рейтинг
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:47
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```actionscript $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 2
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:48
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```csharp $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 0
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:48
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```cpp $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 0
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:49
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```actionscript $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 0
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:49
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```bash $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 0
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:49
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```clojure $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 0
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:50
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```css $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 1
0

Обрабатываем popstate кроссбраузерно 06 нояб. 2015 г., 22:05:50
Safari и старые Chrome [вызывают лишнее событие popstate при начальной загрузке страницы](https://code.google.com/p/chromium/issues/detail?id=63040). Chrome это в современных своих версиях поправил, а вот в актуальном Safari проблема есть. Идея в том, чтобы зарегистрировать наш обработчик после того, как начальное событие `popstate` всплывёт. Всплывает оно по `load`, поэтому вешаем обработчик на него. `setTimeout` с задержкой `0` нужен для того, чтобы обработчик был последним. ```dart $(window).load(function() { setTimeout(function() { $(window).on('popstate', function (e) { // работаем }); }, 0); }); ```

  • Автор: losgwteq
  • Просмотров: 0

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация