我想添加一条消息,告诉用户如果他们不在该浏览器中,则以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);
答案 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
}