Это приведет к тому, чтобы открыть страницу каждый раз, когда веб-страница загружается, независимо, если вы находитесь в 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>
Edit:
Добавлена проверка по проверке они находятся в Safari.
Что же вы ожидали от этого? Вы устанавливаете href каждый раз, когда загружается страница, что наверняка создаст бесконечный цикл. – Teemu