if(u_agent.indexOf("Firefox")>0)這樣是否可以
<!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>
2020-04-05
如Hcr所說,不可以。
首先要明白indexOf()的用法,即返回()中字符串首先出現(xiàn)位置,顯然0也是可能的,但是如果()中內(nèi)容沒有出現(xiàn)過,是會(huì)返回-1的。
2019-02-19
如果在string中的start位置之后存在substring返回出現(xiàn)的第一個(gè)substring 的位置。如果沒有找到子串substring返回-1。
也就是在給出的信息u_agent里搜索有沒有"Chrome"這個(gè)字符串,如果沒有找到就返回-1,如果包含了就返回出現(xiàn)的位置。
如果將indexOf的返回值的判斷值-1改為0顯然是不可以的,有indexOf返回0即=0的情況例如"Chrome"字符串出現(xiàn)的位置就為頭位置0。