iPhone Safari Web App открывает ссылки в новом окне при использовании javascript:history.go(-1)
Я пытаюсь получить ссылки в автономном веб-приложении для iPhone, чтобы они открывались внутри веб-приложения вместо сафари.
Я нашел эту тему. IPhone Safari Web App открывает ссылки в новом окне, которое мне очень помогло. Я использовал ответ от 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), она откроется в сафари вместо веб-приложения.
Может кто-нибудь, пожалуйста, посмотрите на код и посмотрите, есть ли решение этой проблемы?
1 ответ
К сожалению, если веб-приложение используется в "режиме приложения", к нему обращались с домашней страницы и по умолчанию нет навигационной панели Apple, тогда API истории JavaScript не будет работать. Вы должны использовать "прямую ссылку" и ссылку на фактическую страницу. У вас есть скрипт, который делает так, что когда кто-то нажимает ссылку на вашем сайте в "режиме приложения", а не на "внешний" сайт, iOS открывает ссылку все еще в "режиме приложения".
"Режим приложения" также известен как "автономный режим".