Как открыть новое окно на автономном (полноэкранном) режиме iphone

<!doctype html>
<html>
<head>
<title>page</title>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes" />

<meta name="apple-mobile-web-app-status-bar-style" content="black" />
</head>
<body>
<script>
function goToPage() {
    var pageUrl = 'http://www.google.com/';
    window.open(pageUrl);
}
</script>
<div id="installBtn" onclick="goToPage()">go to page</div>
</body>
</html>

Ожидаемое действие: при касании div открывается новое окно. Этот код отлично работает в сафари iPhone.

Но когда я нажимаю "+" → "Добавить на главный экран" и нажимаю "перейти на страницу", окно не открывается, а страница загружается на том же экране.

Как заставить javascript открыть новое окно в автономном режиме?

Ответ 1

В приведенном ниже вопросе упоминается возможное решение JavaScript из опрошенных голосом ответов, которое строит якорный элемент и отправляет на него событие 'click'.

Вопрос: Принудительная ссылка для открытия в мобильном сафари из веб-приложения с помощью javascript
Ответ: fooobar.com/questions/58308/...

В качестве альтернативы, если вы можете использовать элемент привязки (я знаю, вы спросили, как это сделать в JavaScript), вы можете сделать следующее:

<a id="installBtn" href="http://www.google.com/" target="_blank">go to page</a>

Другие связанные вопросы:

iPhone window.open(url, '_blank') не открывает ссылки в мобильном Safari

Ответ 2

Это работает для меня. Не работает при запросе его из html, только из JS.

window.open('[url]','_system');

Ответ 3

вы можете использовать childbrowser для открытия в автономном режиме

Или вы можете использовать этот

window.location = url(your Url);

Ответ 4

Иди сюда! (если вам все еще нужно)

<script>
    if(window.navigator.standalone === true) 
     document.write('Standalone');
    else
     document.write('Web browser');
</script>

R.