Проблема в том, что jQuery Mobile пытается оптимизировать загрузку страниц и минимизировать запросы, выполняя ajax вместо обычной загрузки страниц. Это приводит к тому, что jQuery mobile делает первый запрос, и пока jQuery ожидает возврата, скрипт «stay_standalone» запускает и загружает страницу при обычной загрузке страницы http.
Вы можете увидеть код jQuery Mobile, связанный с этой функцией, по этим двум ссылкам: сначала в init , а затем проверка флага ajax и, наконец, выполнение запроса . Это также в глобальных конфигурационных документах jQuery Mobile .
Я немного искал jQuery Mobile в автономном режиме и ничего конкретного не нашел. Есть 2 решения этой проблемы:
- Удалите суть с вашего сайта / веб-приложения. Это может быть достаточным решением, так как jQuery Mobile уже делает ajax для вас - и ссылка не откроется в Safari. Также это потенциально быстрее, с меньшим количеством запросов.
Если это не работает должным образом, вы можете отключить функцию ajaxEnabled
в jQuery Mobile, как описано в их документах:
$ (document) .bind ("mobileinit", function () {
ajaxEnabled: false
});
Второй вариант не оптимален, но может оказаться хорошим решением, пока вы не поймете, как jQuery Mobile может предотвратить загрузку страниц в Mobile Safari.