frank201113
2015-10-15 04:47
采纳率: 0%
浏览 1.6k

JavaScript 浏览器检测

var agent = window.navigator.userAgent.toLowerCase();
var is_op = (agent.indexOf("opera") != -1);
var is_ie = (agent.indexOf("msie") != -1) && document.all && !is_op;
var is_ch = (agent.indexOf("chrome") != -1);
以上代码中indexOf的作用是什么?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • Robot-S 2015-10-15 04:51

    正如你看到的,使用userAgent.navigator的问题在于,它是一串很长的字符串,并且可读性不好。

    所以,如果我想得到想要的信息,或者把它给用户看,我首先,我要解析这个字符串。问题是我对于正则表达式的使用(在其他一些方面)显得无能为力,所以我很乐意使用Darcy Clarke写的Detect.js JavaScript 程序库。

    Detect.js能够将一个字符串解析为一个可读和可操作的JavaScript对象。为了显示浏览器的名称、版本以及所用的操作系统,可参考如下代码:......<br/><strong>答案就在这里:</strong><a target='_blank' rel='nofollow' href='http://blog.csdn.net/u011043843/article/details/36868321'>用JavaScript检测浏览器</a><br/>----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
    
    点赞 评论
  • 毕小宝 2015-10-15 05:22

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
    就会根据判断agent中是否包含的各个浏览器的名称来判断浏览器的。
    具体用法参考:http://www.w3school.com.cn/jsref/jsref_indexOf.asp

    点赞 评论
  • 查找字符串出现的位置(从0开始),找不到返回-1

    点赞 评论

相关推荐 更多相似问题