将iOS webApp用户重定向到Safari?

时间:2014-02-24 23:37:46

标签: javascript ios web-applications iphone-standalone-web-app

我正在网站上工作。

iPhone用户可以“保存到HomeScreen”我的网站。这样做会在iPhone的主屏幕上放置一个图标,以便用户可以作为WebApp访问我的网站(全屏模式,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 webApp“模式”中打开的链接重定向到Safari。

但是,在这种情况下,我使用javascript“点击”链接,重定向到Safari不会发生。相反,webApp会重新加载。

如何成功重定向到Safari?

1 个答案:

答案 0 :(得分:3)

如果用户点击链接,您只能从网络应用程序重定向回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网络应用程序所需的内容不会重定向到同一页面。