思进行
2019-02-11 12:13
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>navigator</title>
<script type="text/javascript">
function validB(){
var u_agent = navigator.userAgent ;
var B_name="不是想用的主流浏览器!";
if(u_agent.indexOf("Firefox")>0){
B_name="Firefox";
}else if(u_agent.indexOf("Chrome")>0){
B_name="Chrome";
}else if(u_agent.indexOf("MSIE")>0&&u_agent.indexOf("Trident")>0){
B_name="IE(8-10)";
}
document.write("浏览器:"+B_name+"<br>");
document.write("u_agent:"+u_agent+"<br>");
}
</script>
</head>
<body>
<form>
<input type="button" onClick=validB() value="查看浏览器" >
</form>
</body>
</html>
如Hcr所说,不可以。
首先要明白indexOf()的用法,即返回()中字符串首先出现位置,显然0也是可能的,但是如果()中内容没有出现过,是会返回-1的。
引用慕友的回答。 u_agent.indexOf("Chrome")>-1 这是字符串对象的一个方法:在字符串string中检索的子串。 string.indexOf(substring)
如果在string中的start位置之后存在substring返回出现的第一个substring 的位置。如果没有找到子串substring返回-1。
也就是在给出的信息u_agent里搜索有没有"Chrome"这个字符串,如果没有找到就返回-1,如果包含了就返回出现的位置。
如果将indexOf的返回值的判断值-1改为0显然是不可以的,有indexOf返回0即=0的情况例如"Chrome"字符串出现的位置就为头位置0。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题