Как открыть новое окно на автономном (полноэкранном) режиме 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.