Safari на iPhone раскладывает строку URL при переходе по ссылкам с возвратом false;

У меня самая странная проблема. У меня есть веб-сайт, который мне нужно использовать на iPhone (да), который действует в Safari Mobile.

У меня есть меню, которое перемещает содержимое в зависимости от того, где вы нажимаете, и оно заполняет DOM различными данными, которые предварительно заполняются как JSON в переменной JavaScript. Таким образом, нет XHR/Ajax называет то, что происходит когда-либо.

Проблема в том, что всякий раз, когда щелкают ссылку в меню, адресная строка сворачивается и визуализирует индикатор выполнения - как будто он что-то загружает - даже если я предотвращаю поведение по умолчанию и прекращаю распространение. Я дважды проверил, что нет никакой сетевой активности, но я действительно не могу понять, почему он так себя ведет. Та же проблема визуализируется на iPad/Safari, но я мог бы с этим смириться, поскольку она не влияет на область просмотра.

Связывание событий так же просто, как:

$('#menu a').on('click', function(e) {
    //do whatever...
    e.preventDefault();
    return false;
});

Текущий iPhone, на котором я работаю, имеет версию программного обеспечения 6.1.4.

Я пытался искать в сети что-то похожее, но безуспешно. Ребята, вы видели / слышали об этом поведении раньше?

Что может быть не так? Есть ли обходной путь?

1 ответ

Решение

Что ж. Выяснилось, что Safari попытается загрузить все ссылки, в которых есть URL-адреса в атрибуте href.

Решение:

$('#menu a').attr('href', '#')
Другие вопросы по тегам