JS关于navigator.userAgent查看浏览器信息问题

请教下面代码中indexOf()>-1是什么意思?为什么要大于-1?

使用userAgent判断使用的是什么浏览器(假设使用的是IE8浏览器),代码如下:

function validB(){ 
  var u_agent = navigator.userAgent; 
  var B_name="Failed to identify the browser"; 
  if(u_agent.indexOf("Firefox")>-1){ 
      B_name="Firefox"; 
  }else if(u_agent.indexOf("Chrome")>-1){ 
      B_name="Chrome"; 
  }else if(u_agent.indexOf("MSIE")>-1&&u_agent.indexOf("Trident")>-1){ 
      B_name="IE(8-10)";  
  }
    document.write("B_name:"+B_name+"<br>");
    document.write("u_agent:"+u_agent+"<br>"); 
} 
阅读 6.7k
3 个回答

var u_agent=navigator.userAgent 返回的字符串 ,用字符串中的indexof方法,indexof(xxx) 返回的是xxx在 u_agent 字符串中的索引位置 即第一个x的 索引。最小索引也是0. 所以如果是-1的话,表示不存在xxx.所以用>-1 来判断 某个字符串里包不包含某个字符

额,这就代表出现过这个字符串,来判断UA,你查下这个方法不就好了么

= -1 说明没有找到这个字符串,说明不是Firefox, > -1 说明是找到了这个字符串是Firefox

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题