Заставьте пользователей Android посещать веб-сайты с помощью Google Chrome или Safari. - PullRequest
0 голосов
/ 10 июня 2019

Мы создали веб-приложение, оптимизированное для Google Chrome / Safari. Я бы хотел

  • заставляет всех пользователей Android использовать Google Chrome для посещения веб-сайта. Если Chrome недоступен, я не хочу, чтобы они посещали веб-сайт.
  • заставляет всех пользователей iOS использовать Safari

Можете ли вы предложить мне правильный способ сделать это?

Спасибо

1 Ответ

0 голосов
/ 10 июня 2019

Я думаю, у меня есть простое решение для вас.

Сначала вам нужно проверить, какой браузер они используют, а затем вам нужно направить их в Chrome или Safari, если они не используют один из тех двух браузеров, для которых вы, ребята, оптимизировали.

Итак:

// Opera 8.0+
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;

// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';

// Safari 3.0+ "[object HTMLElementConstructor]" 
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification));

// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;

// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;

// Chrome 1 - 71
var isChrome = !!window.chrome && (!!window.chrome.webstore || 
!!window.chrome.runtime);

// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;

Приведенный выше код присваивает логические значения true, если они есть в этом браузере, и false, если они отсутствуют.

Теперь вы можете решить, что делать теперь, когда вы знаете, какой браузер они используют

// If they are not on chrome and safari
if (!isChrome && !isSafari) {
    // replace this with whatever you want to do
    // in this case I make your website text red, but you could display a link 
    // to chrome app in playstore or whatever you need
    document.getElementByTagName("body").style.color = "red";
}
...