iPhone Safari Web App открывает ссылки в новом окне при использовании javascript: history.go (-1) - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь получить ссылки в автономном веб-приложении iPhone для открытия внутри веб-приложения вместо Safari.

Я нашел эту тему Веб-приложение iPhone Safari открывает ссылки в новом окне , который мне очень помог.Я использовал ответ rmarscher

<script>(function(a,b,c){if(c in b&&b[c]){var d,e=a.location,f=/^(a|html)$/i;a.addEventListener("click",function(a){d=a.target;while(!f.test(d.nodeName))d=d.parentNode;"href"in d&&(d.href.indexOf("http")||~d.href.indexOf(e.host))&&(a.preventDefault(),e.href=d.href)},!1)}})(document,window.navigator,"standalone")</script>

Проблема, с которой я сталкиваюсь, заключается в том, что мое приложение использует ссылку с javascript: history.go (-1).Если я щелкну ссылку после нажатия history.go (-1), она откроется в safari вместо веб-приложения.

Может кто-нибудь взглянуть на код и посмотреть, есть ли решение этой проблемы?

1 Ответ

0 голосов
/ 04 апреля 2012

К сожалению, если веб-приложение используется в «режиме приложения», к нему обращались с домашней страницы и по умолчанию нет навигационной панели Apple, тогда API истории JavaScript не будет работать.Вы должны использовать «прямую ссылку» и ссылку на фактическую страницу.У вас есть скрипт, который делает так, что, когда кто-то нажимает ссылку на вашем сайте в «режиме приложения», а не на «внешний» сайт, iOS открывает ссылку в «режиме приложения».

"Режим приложения "также известен как" автономный режим ".

...