【用jQuery来判断浏览器的类型】及【javascript获取用户ip地址】

 

用jQuery来判断浏览器的类型,主要是使用$.browser这个工具类,使用方法: 

$.browser.['浏览器关键字']

复制代码
//谷歌浏览器、360浏览器等其他一些浏览器,没有专门的判断   function appInfo() {var bro = $.browser;var binfo = "";if (bro.msie) {binfo = "Microsoft Internet Explorer " + bro.version;  // bro.version  获得的是浏览器版本}else if (bro.mozilla) {binfo = "Mozilla Firefox " + bro.version;}else if (bro.safari) {binfo = "Apple Safari " + bro.version;}else if (bro.opera) {binfo = "Opera " + bro.version;}else if (bro.webkit) {binfo = "Webkit " + bro.version;}return binfo;}
复制代码

我们看下jQuery的源码:

复制代码
var userAgent = navigator.userAgent.toLowerCase();
// Figure out what browser is being used
jQuery.browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
safari: /webkit/.test( userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};
复制代码
复制代码
jQuery 使用的是通过正则来匹配userAgent判断浏览器的种类和版本.如果我们要来判断当前浏览器是否是IE6应该如何来判断?$.browser.msie&&($.browser.version == "6.0")&&!$.support.style同样jQuery判断浏览器是否为IE7$.browser.msie&&($.browser.version == "7.0") 如果不考虑向后兼容性,又不想为了判断各浏览器类型而导入jQuery判断IE最简单的方法是if(document.all){
alert("IE6")
} $.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,可以使用jquery.support来代替但是目前的情况来看,jquery.support并不好用,而且是非常的难用,我们还是老老实实的用$.browser来判断浏览器类型吧如果是为了判断IE的版本我还是推荐用IE的条件表达式来书写JS<!--[if IE]>
<script type="text/javascript">
alert("ie")
</script>
<![endif]-->
<!--[if IE 6]>
<script type="text/javascript">
alert("ie6")
</script>
<![endif]-->
<!--[if IE 7]>
<script type="text/javascript">
alert("ie7")
</script>
<![endif]--> 这个比我们手动通过$.browser来判断IE版本更精准,也不用去记jquery的browser的使用方法了
复制代码

js 获取用户ip

var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random();$.getJSON(url, function(data) {alert(data.Ip);   //获取的用户ip});

 

转载于:https://www.cnblogs.com/yuanyingke/p/6011186.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python函数学习1

函数1 &#xff08;1&#xff09;定义&#xff1a; def 函数名&#xff08;参数列表&#xff09;函数体 &#xff08;2&#xff09;参数传递&#xff1a; 在python中&#xff0c;一切都是对象&#xff0c;类型也属于对象&#xff0c;变量是没有类型的。 a [1,2,3] a "he…

kafka应用于区块链_Apache Kafka的区块链实验

kafka应用于区块链by Luc Russell卢克罗素(Luc Russell) Apache Kafka的区块链实验 (A blockchain experiment with Apache Kafka) Blockchain technology and Apache Kafka share characteristics which suggest a natural affinity. For instance, both share the concept o…

pythonfor循环100次_以写代学: python for循环 range函数 xrange函数

脚本一&#xff1a; #!/usr/bin/env python # coding: utf8 sum100 0 for i in range(101): sum100 i #&#xff08;1&#xff09;range是一个可以取值的函数&#xff0c;上边这个取的是0-100&#xff0c;并不包含101 #&#xff08;2&#xff09;也可以指定&#xff0c;比如r…

iis下php 500错误

很不想用iis&#xff0c;然而客户不想增加机器&#xff0c;只好按客户的意思了。可是没想到发送短信以在本地 机器上是好的&#xff0c;在iis下直接500。   一开始以为是防火墙问题&#xff0c;后来检查了一下没有&#xff0c;再后来换了一个短信接口&#xff0c;就莫名其妙好…

linux mv 递归拷贝,奇技淫巧 - 给Linux中的cp和mv命令中添加进度条的高级拷贝

GNU cp和GNU mv命令用于在GNU/Linux操作系统中复制和移动文件和目录。这两个命令缺少的一个特性是它们不显示任何进度条。如果复制一个大文件或目录&#xff0c;您就不知道完成复制过程需要多长时间&#xff0c;也不知道复制的数据所占的百分比。还有您将看不到当前正在复制哪个…

webgl 着色器_如何在WebAssembly中使用WebGL着色器

webgl 着色器by Dan Ruta通过Dan Ruta 在WebAssembly中使用WebGL着色器 (Using WebGL shaders in WebAssembly) WebAssembly is blazing fast for number crunching, game engines, and many other things, but nothing can quite compare to the extreme parallelization of …

【洛谷P1966】火柴排队

两列排序后将编号一一对应 归并排序求逆序对 &#xff08;每一次交换就去掉一个逆序对&#xff09; 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 #define ll long long5 using namespace std;6 const int N100100;7 const ll P99999997;8 …

python字符串补空格输出_Python去除空格,Python中常见字符串去除空格的方法总结...

今天小编就为大家分享一篇关于Python去除字符串前后空格的几种方法&#xff0c;小编觉得内容挺不错的&#xff0c;现在分享给大家&#xff0c;具有很好的参考价值&#xff0c;需要的朋友一起跟随小编来看看吧&#xff1a; Python去除空格方法一&#xff1a; strip()方法&#x…

Alan Walker MV 合辑01 by defender

Alan Walker MV合辑 出来啦&#xff01; 百度网盘下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/10WSool70XBe_8tJOae8V-w 提取码&#xff1a;uckq 地址查看Microsoft Onedrive Download Address:  BE DELETED Google Drive Download Address&#xff1a; …

scanf函数具体解释与缓冲区

1.基本信息 函数原型&#xff1a; int scanf( char *format, args, ...); 函数返回值&#xff1a; 读入并赋给args的数据个数。遇到文件结束返回EOF&#xff0c;出错返回0。 函数功能&#xff1a; scanf函数是格式化输入函数&#xff0c;它从标准输入设备(键盘)读取输入的信息。…

linux中win文件转为unix,如何将文本文件从Windows转换为Unix

从Unix转换到Windows时&#xff0c;我得到正确的输出;但是&#xff0c;从Windows到Unix时&#xff0c;我得到了一些奇怪的输出。我认为我必须允许的是删除回车\ r。虽然这不起作用。当我运行代码后打开文本文件时&#xff0c;我得到了一些奇怪的结果&#xff0c;第一行是正确的…

程序员伪造一年工作经验_试火—如何伪造程序员

程序员伪造一年工作经验2017年9月6日 (6 September 2017) Sweat is running down my face. I’m staring down a blank sublime text document. What on earth am I doing? My hands are resting above the keyboard of my MacBook pro.汗水顺着我的脸。 我盯着一个空白的崇高…

在unity中设置多种怪物数据_Unity可编程渲染管线(SRP)系列(三)——光照(单通道 正向渲染)...

本文重点:1、漫反射着色2、支持方向光、点光源和聚光灯3、每帧允许16个可见光源4、每个对象最多计算四个像素光和四个顶点光这是涵盖Unity可编写脚本的渲染管线的教程系列的第三部分。这次&#xff0c;我们将通过一个Drawcall为每个对象最多着色8个灯光来增加对漫反射光照的支持…

Java内部类的定义和使用

为什么要用到内部类&#xff1a; 在java开发学习中我们经常会碰到内部类。内部类又有很多的优势&#xff1a;首先举一个简单的例子&#xff0c;如果你想实现一个接口&#xff0c;但是这个接口中的一个方法和你构想的这个类中的一个方法名称参数相同&#xff0c;你应该怎么办&am…

蛋清打发奶油状

在做蛋糕、冰淇凌、面包之类的时候往往都需要奶油状蛋清&#xff0c;让蛋糕、面包更蓬松&#xff0c;冰激凌也可以使用其当做奶油来用。用料 鸡蛋4个 根据用量选择盐(只做冰激凌用奶油放)5g(根据蛋量)白醋(可以不放&#xff0c;根据喜好)5g(根据蛋量)白砂糖40g(分三次放)根据…

react构建_您应该了解的有关React的一切:开始构建所需的基础知识

react构建by Scott Domes由斯科特多姆斯(Scott Domes) 您应该了解的有关React的一切&#xff1a;开始构建所需的基础知识 (Everything You Should Know About React: The Basics You Need to Start Building) Are you curious about React and haven’t had the chance to lea…

荣新linux培训,51CTO博客-专业IT技术博客创作平台-技术成就梦想

切换用户 su - root文件夹管理 mkdir(新建文件夹) rmdir(删除空目录)文件管理 touch(新建文件) rm(删除文件)rm -rf(删除文件夹) cat(查询文件)文件文件夹 mv(剪切文件) cp(复制文件)默认拷贝文件&#xff0c;cp -r 就可以拷贝文件夹啦批量建文件 touch /root/tes…

Educational Codeforces Round 33 (Rated for Div. 2) E. Counting Arrays

题目链接 题意&#xff1a;给你两个数x,yx,yx,y,让你构造一些长为yyy的数列&#xff0c;让这个数列的累乘为xxx&#xff0c;输出方案数。 思路:考虑对xxx进行质因数分解&#xff0c;设某个质因子PiP_iPi​的的幂为kkk,则这个质因子的贡献就相当于把kkk个PiP_iPi​放到yyy个盒子…

《面向对象分析与设计》一第2章 什么是面向对象分析

第2章 什么是面向对象分析 面向对象分析&#xff08;ObjectOriented Analysis&#xff0c;OOA&#xff09;&#xff0c;就是运用面向对象方法进行系统分析。它是软件生命周期的一个阶段&#xff0c;具有一般分析方法所共同具有的内容、目标及策略。但是OOA强调运用面向对象方…

hql可以使用distinct吗_输送食品可以使用白色PVC输送带吗?

食品&#xff0c;是给人们吃到肚子里的&#xff0c;因此不管在加工环节、制造环节还是其他环节&#xff0c;都需要做好食品的安全问题。根据不同的食品&#xff0c;其制造的环境也不同&#xff0c;所使用到的食品输送带的材质也是不一样的&#xff0c;这些是需要根据输送的食品…