Перенаправить пользователя 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 не будет перенаправлять на ту же страницу.

Другие вопросы по тегам