根据浏览器 userAgent 更改样式
Change style depending on browser userAgent
我觉得我真的很接近这是正确的,但它似乎不起作用。
有人可以帮我吗?
var userAgent = navigator.userAgent.toLowerCase();
if (userAgent.indexOf('OPR') != -1) {
if (userAgent.indexOf('Chrome') > -1) {
//browser is chrome
$("#evs").addClass(".chrome");
} else {
//browser is opera, add css
$("#evs").addClass(".opera");
}
}
- 首先你使用
.toLowercase()
但你试图匹配大写字符: 'OPR'
, 'Chrome'
- jQuery 的 .addClass() 需要一个类名字符串( 没有点 ),例如:
$("#evs").addClass("chrome");
- JS 的 [=33] 也是如此=]() 方法:
这是我的建议:
const UA = navigator.userAgent;
const EL_evs = document.querySelector("#evs");
if (/Chrome\//i.test(UA)) { // Case insensitive (i) if needed?
if (/OPR\//.test(UA)) { // Case sensitive
EL_evs.classList.add("UA-opera");
} else if (/Edg\//.test(UA)) { // Case sensitive
EL_evs.classList.add("UA-edge");
} else {
EL_evs.classList.add("UA-chrome");
}
}
.UA-chrome { background: gold; }
.UA-edge { background: blue; }
.UA-opera { background: red; }
<div id="evs">TEST</div>
我觉得我真的很接近这是正确的,但它似乎不起作用。 有人可以帮我吗?
var userAgent = navigator.userAgent.toLowerCase();
if (userAgent.indexOf('OPR') != -1) {
if (userAgent.indexOf('Chrome') > -1) {
//browser is chrome
$("#evs").addClass(".chrome");
} else {
//browser is opera, add css
$("#evs").addClass(".opera");
}
}
- 首先你使用
.toLowercase()
但你试图匹配大写字符:'OPR'
,'Chrome'
- jQuery 的 .addClass() 需要一个类名字符串( 没有点 ),例如:
$("#evs").addClass("chrome");
- JS 的 [=33] 也是如此=]() 方法:
这是我的建议:
const UA = navigator.userAgent;
const EL_evs = document.querySelector("#evs");
if (/Chrome\//i.test(UA)) { // Case insensitive (i) if needed?
if (/OPR\//.test(UA)) { // Case sensitive
EL_evs.classList.add("UA-opera");
} else if (/Edg\//.test(UA)) { // Case sensitive
EL_evs.classList.add("UA-edge");
} else {
EL_evs.classList.add("UA-chrome");
}
}
.UA-chrome { background: gold; }
.UA-edge { background: blue; }
.UA-opera { background: red; }
<div id="evs">TEST</div>