Закладка на главном экране iOS - не тяните на mobileSafari? - PullRequest
0 голосов
/ 17 сентября 2011

Я делаю последние штрихи в мобильном веб-приложении и узнал, что когда вы добавляете страницу на домашний экран, нажатие на любую ссылку выводит пользователя из полноэкранного режима в mobileSafari, полностью разрушая Цель полноэкранного режима. Как кто-нибудь может использовать полноэкранный режим, когда все ссылки вынуждают вас выйти из него?

Ответы [ 2 ]

2 голосов
/ 26 июля 2014

Любая ссылка <a href="">, по которой щелкают, фактически перемещается и направляется в собственный браузер, выпадающий из окна «приложения». Вся навигация должна быть сведена к операциям сценария, явной навигации по браузеру или отправке форм через AJAX.

Вот более распространенная реализация jQuery для замены, которая также управляет любыми будущими изменениями документа и добавлениями привязки:

$("body")
       .on("click","a", function () {
           var href = $(this).attr("href");
           if (href) {
               window.location = href;
               return false;
           }
           return true;
       });

Между прочим, отправка форм работает нормально и не открывает новое окно, поэтому с этим ничего особенного не происходит.

Я склонен помещать это в сценарий запуска, который вставляется на любую страницу. Это либо простой блок скрипта внизу страницы, либо что-то app.run () в Angular.

0 голосов
/ 17 сентября 2011

Я нашел этот комментарий в блоге:

Быстрое исправление для существующего сайта (с prototype.js):

document.observe(“click”,function(event){
var element = event.findElement(“a”);
if(element.href){
event.stop();
location.href = element.href; //this does the trick, page will open in same window
return false;
}
});

Источник: http://www.luscarpa.com/development/make-your-website-an-iphone-web-application/

...