Не SL

Swipe назад и вперёд в Mobile Safari на iPad

| | Comments

В OS X, если у вас ноутбук, или вы купили Magic Trackpad, есть удобный жест — горизонтальный свайп, который красиво перелистывает историю посещений вместо нажатия кнопок «Вперёд» и «Назад». На iPad подобного жеста до сих пор нет. Но можно сделать средствами JavaScript. Красоты особой не получилось, но зато браузер отзывается привычным образом и не нужно целиться в кнопочки.

Рецепт:

  • регистрируемся тут
  • подключаем в injector.js jQuery
  • Берём у доброго человека stephband на GitHub jquery.event.move и jquery.event.swipe
  • создаем и подключаем новый файл, скажем, history.js

содержание файла (вариант):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
injectJS('jquery.event.move.js');
injectJS('jquery.event.swipe.js');

jQuery(document).ready(function() {
  jQuery('body')
          .on('swipeleft', function() {
      history.forward();
  })
          .on('swiperight', function() {
      history.back();
  })
          .on('movestart', function(e) {
      // If the movestart heads off in a upwards or downwards
      // direction, prevent it so that the browser scrolls normally.
      if ((e.distX > e.distY && e.distX < -e.distY) ||
              (e.distX < e.distY && e.distX > -e.distY)) {
          e.preventDefault();
          return;
      }
  })
});

У меня работает.

Comments