强制Android用户使用Google Chrome或Safari浏览网站

时间:2019-06-10 11:30:49

标签: android google-chrome safari user-agent

我们制作了一个针对Google Chrome / Safari优化的网络应用。我想

  • 强制所有Android用户使用Google Chrome浏览器访问该网站。如果无法使用Chrome,则不要让他们访问该网站。
  • 强制所有iOS用户使用Safari

您能建议我正确的方法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我想我有一个简单的解决方案。

首先,您需要检查他们使用的是哪种浏览器,然后,如果他们没有使用针对您进行了优化的那两种浏览器之一,则需要将它们定向到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";
}