如何通过浏览器检测告诉用户在Chrome中打开页面

时间:2018-03-09 02:00:48

标签: javascript alert browser-detection

我想添加一条消息,告诉用户如果他们不在该浏览器中,则以Chrome格式打开该页面。如何调整以下内容以使用document.write()而不是alert(),如果消息已经在chrome中,也可以排除编写消息?我在这里找到了以下浏览器检测代码:https://developer.mozilla.org/en-US/docs/Web/API/Window/navigator

var sBrowser, sUsrAg = navigator.userAgent;

if (sUsrAg.indexOf("Chrome") > -1) {
    sBrowser = "Google Chrome";
} else if (sUsrAg.indexOf("Safari") > -1) {
    sBrowser = "Apple Safari";
} else if (sUsrAg.indexOf("Opera") > -1) {
    sBrowser = "Opera";
} else if (sUsrAg.indexOf("Firefox") > -1) {
    sBrowser = "Mozilla Firefox";
} else if (sUsrAg.indexOf("MSIE") > -1) {
    sBrowser = "Microsoft Internet Explorer";
}

alert("You are using: " + sBrowser);

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是,如果用户使用chrome,则不会为sBrowser分配任何值,然后检查undefined

var sBrowser, sUsrAg = navigator.userAgent;

if (sUsrAg.indexOf("Safari") > -1) {
  sBrowser = "Apple Safari";
} else if (sUsrAg.indexOf("Opera") > -1) {
  sBrowser = "Opera";
} else if (sUsrAg.indexOf("Firefox") > -1) {
  sBrowser = "Mozilla Firefox";
} else if (sUsrAg.indexOf("MSIE") > -1) {
  sBrowser = "Microsoft Internet Explorer";
}

if (sBrowser != null) {
  document.write("You are using " + sBrowser + ". Use Chrome instead"); // or whatever
}

这种方法的一个问题是你必须考虑现有的每一个浏览器。只需检查chrome,然后告诉其他人使用它。你失去了告诉他们他们正在使用什么浏览器的能力,但这在这里似乎并不重要。

var sUsrAg = navigator.userAgent,
  usingChrome = sUsrAg.indexOf("Chrome") > -1;

if (!usingChrome) {
  document.write("You are not using Chrome. Switch to blah blah blah"); // or whatever
}