将Safari重定向到Chrome

时间:2015-08-12 19:03:09

标签: javascript html

我正在尝试将用户的移动网络应用重定向到使用Chrome而不是Safari。我尝试使用以下内容:

<script>
javascript:location.href="googlechrome"+location.href.substring(4);
</script>

然而,这会不断打开Chrome中的标签圈。你知道我怎么能成功做到这一点吗?

干杯, 达拉

2 个答案:

答案 0 :(得分:4)

这将导致每次加载网页时都会打开页面,无论您是在Safari还是Chrome中。这也是非常糟糕的用户体验,只需将用户转发到另一个浏览器而无需输入。

最好让用户有一些方法在Chrome中打开您的网站,并解释为什么需要它。

https和回调还有其他方案:https://developer.chrome.com/multidevice/ios/links#uri_schemes

<p>This webapp is best viewed in Google Chrome</p>
<button type="button" onclick="openInChrome()">Open in Chrome</button>
<script>
    var openInChrome = function() {
        if (/^((?!Chrome).)*(Safari)+.*$/.test(navigator.userAgent)) {
            var protocol = location.href.substring(0,location.href.indexOf(':'));
            var url = location.href.substring(location.href.indexOf(':'));

            if (protocol === "http") {
                location.href = "googlechrome" + url;
            }
            else {
                location.href = "googlechromes" + url;
            }
        }
    }
</script>

修改

添加了一项检查以验证它们是否在Safari中。

答案 1 :(得分:1)

嗯,原因很明显; Chrome也被指示打开Chrome。您只需要一个userAgent条件。

RedirectToIdentityProvider

我会继续关于用户代理检查错误的标准咆哮,但我相信你所说的这是一个私人网络应用程序。由于iOS不允许您更改默认浏览器,我想这是一个公平的解决方法。