Перенаправить пользователя iOS webApp в Safari?
Я работаю над сайтом.
Пользователи iPhone имеют возможность "Сохранить на домашний экран" моего сайта. В результате на домашнем экране iPhone появится значок, так что пользователь сможет получить доступ к моему веб-сайту в качестве веб-приложения (полноэкранный режим, вид Safari).
Я пытаюсь перенаправить пользователей webApp в обычный Safari. Я не хочу, чтобы пользователи просматривали мой сайт в режиме webApp.
Это код:
window.onload=function(){
if (navigator.standalone) {
console.log ('Running iOS webApp, lets send user to Safari');
window.location.href = "http://www.urlToWebsite.com";
} else {
console.log ('Running in a normal browser');
}
};
Из того, что все публикуют в Интернете, ссылки, открытые в iOS в режиме "web" приложения, перенаправляют на Safari.
Однако в этом случае, когда я "нажимаю" на ссылку, используя javascript, перенаправление в Safari не происходит. Вместо этого веб-приложение перезагружается на месте.
Как я могу успешно перенаправить в Safari?
1 ответ
Поскольку вы можете перенаправить обратно в Safari из веб-приложения только в том случае, если пользователь нажимает на ссылку, все, что вам нужно сделать, это вызвать щелчок по ссылке.
Вот код для базовой страницы, куда вы будете перенаправлены обратно в Safari.
<!DOCTYPE html>
<html>
<head>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<title>iOS Web App Test</title>
</head>
<body>
<script>
if (window.navigator.standalone == true) {
document.write('You are viewing this website as an iOS web App');
document.write('<a href="http://www.urlToWebsite.com/?a" id="redirect-link" style="display: none;">Safari Website</a>');
document.getElementById("redirect-link").click();
} else {
document.write('You are viewing this website in Safari.');
}
</script>
</body>
</html>
Вы заметите знак "? A", добавленный в конец ссылки перенаправления, поскольку это необходимо, поскольку веб-приложение iOS не будет перенаправлять на ту же страницу.