JS获取浏览器信息

复制代码代码如下:
浏览器代码名称:navigator.appCodeName
浏览器名称:navigator.appName
浏览器版本号:navigator.appVersion
对Java的支持:navigator.javaEnabled()
MIME类型(数组):navigator.mimeTypes
系统平台:navigator.platform
插件(数组):navigator.plugins
用户代理:navigator.userAgent



js判断IE浏览器的四种方法:

方法一:

1
2
3
4
5
6
7
if(window.addEventListener){
alert("not ie");
}else if(window.attachEvent){
alert("is ie");
}else{
alert("这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)")
}

注释:该方法在IE9及以上IE版本会弹出not ie结果

方法二:

1
2
3
4
5
if(document.all){
alert("IE");
}else{
alert("not ie");
}

方法三:

1
2
3
4
5
6
var navigatorName = "Microsoft Internet Explorer";
if( navigator.appName == navigatorName ){
alert("ie")
}else{
alert("not ie")
}

方法四:
利用了IE与标准浏览器在处理数组的toString方法的差异.对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它.

1
2
if(!+[1,])alert("这是ie浏览器");
else alert("这不是ie浏览器");

注释:IE9及以上版本会弹出“这不是IE浏览器”

判断常用浏览器的方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var explorer =navigator.userAgent ;
//ie
if (explorer.indexOf("MSIE") >= 0) {
alert("ie");
}
//firefox
else if (explorer.indexOf("Firefox") >= 0) {
alert("Firefox");
}
//Chrome
else if(explorer.indexOf("Chrome") >= 0){
alert("Chrome");
}
//Opera
else if(explorer.indexOf("Opera") >= 0){
alert("Opera");
}
//Safari
else if(explorer.indexOf("Safari") >= 0){
alert("Safari");
}
//Netscape
else if(explorer.indexOf("Netscape")>= 0) {
alert('Netscape');
}

这里用到navigator.userAgent.indexOf("MSIE") >= 0进行判断,当然也可以用
navigator.userAgent.indexOf("MSIE") != -1 进行判断。

jquery判断浏览器类型和浏览器版本号的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function(){
 
  var brow=$.browser;
 
  var bInfo="";
 
  if(brow.msie){bInfo="MicrosoftInternetExplorer"+brow.version;}
 
  if(brow.mozilla){bInfo="MozillaFirefox"+brow.version;}
 
  if(brow.safari){bInfo="AppleSafari"+brow.version;}
 
  if(brow.opera){bInfo="Opera"+brow.version;}
 
  alert(bInfo);
 
});

注意:Query 从 1.9 版开始,移除了 .browser和.browser.version , 取而代之的是 $.support 方法

第一种,只区分浏览器,不考虑版本

复制代码代码如下:
function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    if (isOpera) {
        return "Opera"
    }; //判断是否Opera浏览器
    if (userAgent.indexOf("Firefox") > -1) {
        return "FF";
    } //判断是否Firefox浏览器
    if (userAgent.indexOf("Chrome") > -1){
  return "Chrome";
 }
    if (userAgent.indexOf("Safari") > -1) {
        return "Safari";
    } //判断是否Safari浏览器
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
        return "IE";
    }; //判断是否IE浏览器
}

//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
    alert("我是 IE");
}
if ("FF" == mb) {
    alert("我是 Firefox");
}
if ("Chrome" == mb) {
    alert("我是 Chrome");
}
if ("Opera" == mb) {
    alert("我是 Opera");
}
if ("Safari" == mb) {
    alert("我是 Safari");
}

第二种,区分浏览器,并考虑IE5.5 6 7 8

复制代码代码如下:
function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
    var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
    var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
    if (isIE) {
        var IE5 = IE55 = IE6 = IE7 = IE8 = false;
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        IE55 = fIEVersion == 5.5;
        IE6 = fIEVersion == 6.0;
        IE7 = fIEVersion == 7.0;
        IE8 = fIEVersion == 8.0;
        if (IE55) {
            return "IE55";
        }
        if (IE6) {
            return "IE6";
        }
        if (IE7) {
            return "IE7";
        }
        if (IE8) {
            return "IE8";
        }
    }//isIE end
    if (isFF) {
        return "FF";
    }
    if (isOpera) {
        return "Opera";
    }
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
    alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
    alert("我是 Opera");
}
if (myBrowser() == "Safari") {
    alert("我是 Safari");
}
if (myBrowser() == "IE55") {
    alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
    alert("我是 IE6");
}
if (myBrowser() == "IE7") {
    alert("我是 IE7");
}
if (myBrowser() == "IE8") {
    alert("我是 IE8");
}

下面给出一个判断当前浏览器是IE的JS代码.

原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。

<script>

var ie = !-[1,];

alert(ie);

</script>

停止加载

  1. var xmlhttp;
  2. if (window.XMLHttpRequest) {
  3. // code for IE7+, Firefox, Chrome, Opera, Safari
  4. xmlhttp = new XMLHttpRequest();
  5. }else {
  6. // code for IE6, IE5
  7. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8. }
  9. xmlhttp.abort();
  10. //停止继续加载页面,相当于点击stop按钮。
  11. if (!!(window.attachEvent && !window.opera))
  12. {
  13. document.execCommand("stop");// code for IE
  14. }else{
  15. /**
  16. * stops window loading
  17. * code for  Firefox, Chrome, Opera, Safari
  18. */
  19. window.stop();
  20. }

js/jquery判断浏览器 & 停止加载的更多相关文章

  1. js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的

    js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...

  2. 用JS实现判断iframe是否加载完成

    本文出至:新太潮流网络博客 var iframe = document.createElement("iframe"); iframe.src = "blog.iinu. ...

  3. js/jquery判断浏览器的方法小结

    在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...

  4. js/jQuery判断浏览器名称、内核版本、浏览器壳

    1.js方法 /* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV ...

  5. js/jquery判断浏览器的方法总结

    JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:nav ...

  6. js下判断 iframe 是否加载完成的完美方法

    一般来说,我们判断 iframe 是否加载完成其实与 判断JavaScript 文件是否加载完成.     采用的方法很类似: var iframe = document.createElement( ...

  7. [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件

    页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...

  8. jquery判断图片是否加载完毕

    来源: <http://www.2cto.com/kf/201409/331234.html> 利用图片没有加载完成的时候,宽高为0.我们很容易判断图片的一个加载情况.如下: 思路:判断图 ...

  9. H5+JS+JQuery+ECharts实现异步加载

    这几天,看了一下ECharts官网的API和Demo发现很有意思,于是就利用模型预测产生的数据做一个伪实时的动态数据显示 . 首先,创建一个index.html的文件,我用的vscode打开的,进行编 ...

随机推荐

  1. python_19(Django外键)

    第1章 Django ORM相关操作 1.1 在一个py文件中使用django项目 1.2 返回QuerySet对象的方法有 1.2.1 特殊的QuerySet 1.3 返回具体对象的 1.4 返回布 ...

  2. shell脚本由基础变量及特殊变量($@、$*、$#等)到实战。

    一.shell脚本建立: shell脚本通常是在编辑器(如vi/vim)中编写,也可以在命令行中直接执行: 1.脚本开头:     规范的脚本第一行需要指出有哪个程序(解释器)来执行脚本中的内容,在L ...

  3. CSS浮动float父div没有高度的问题

    如下所示,子元素 div2 本身具有高度和宽度,但由于其具有float:left:属性后.其父元素 div1 不具有高度. <html>    <head>    </h ...

  4. .Net 第一章笔记

    1.深入.NET框架 对象数组 登录和注册 内存级别数据的拎取 1..NET 战略 Java领域:::::SQL Server不会用到 浏览器IE 口号:任何人 在任何地方 使用任何终端,,都可以使用 ...

  5. Java 8新特性--Lambda表达式作为返回值

    lambda表达式作为方法的返回值:

  6. vue对象和视图

    1 Vue框架 1. vue 与 jQuery 区别 jQuery 仍然是操作DOM的思想, 主要jQuery 用来写页面特效 Vue是前端框架(MVVM) ,对项目进行分层. 处理数据 2 前端框架 ...

  7. SPOJ1716 GSS3(线段树)

    题意 Sol 会了GSS1,GSS3就比较无脑了 直接加个单点修改即可,然后update一下 /* */ #include<cstdio> #include<cstring> ...

  8. 学习php中的mysql()函数

    1.mysql_connect(1,2,3):连接数据库服务器语句,一般常用这三个参数(1)数据库服务器地址,(2)用户名,(3)密码:常与die()(或者exit())函数结合使用:die()函数用 ...

  9. UVA 247 - Calling Circles (Floyd)

    互相可以打电话是一个传递关系,所以Floyd求传递封包,dfs找一个尽量大的圈. #include<bits/stdc++.h> using namespace std; ; map< ...

  10. 手把手教你写 Vue UI 组件库

    最近在研究 muse-ui 的实现,发现网上很少有关于 vue 插件具体实现的文章,官方的文档也只是一笔带过,对于新手来说并不算友好. 笔者结合官方文档,与自己的摸索总结,以最简单的 FlexBox  ...