js/jquery判断浏览器 & 停止加载
JS获取浏览器信息
浏览器名称: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");}//Chromeelse if(explorer.indexOf("Chrome") >= 0){alert("Chrome");}//Operaelse if(explorer.indexOf("Opera") >= 0){alert("Opera");}//Safarielse if(explorer.indexOf("Safari") >= 0){alert("Safari");} //Netscapeelse 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 方法
第一种,只区分浏览器,不考虑版本
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
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>
停止加载
- var xmlhttp;
- if (window.XMLHttpRequest) {
- // code for IE7+, Firefox, Chrome, Opera, Safari
- xmlhttp = new XMLHttpRequest();
- }else {
- // code for IE6, IE5
- xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
- }
- xmlhttp.abort();
- //停止继续加载页面,相当于点击stop按钮。
- if (!!(window.attachEvent && !window.opera))
- {
- document.execCommand("stop");// code for IE
- }else{
- /**
- * stops window loading
- * code for Firefox, Chrome, Opera, Safari
- */
- window.stop();
- }
js/jquery判断浏览器 & 停止加载的更多相关文章
- js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件--转他人的 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样 ...
- 用JS实现判断iframe是否加载完成
本文出至:新太潮流网络博客 var iframe = document.createElement("iframe"); iframe.src = "blog.iinu. ...
- js/jquery判断浏览器的方法小结
在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...
- js/jQuery判断浏览器名称、内核版本、浏览器壳
1.js方法 /* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV ...
- js/jquery判断浏览器的方法总结
JS获取浏览器信息浏览器代码名称:navigator.appCodeName浏览器名称:navigator.appName浏览器版本号:navigator.appVersion对Java的支持:nav ...
- js下判断 iframe 是否加载完成的完美方法
一般来说,我们判断 iframe 是否加载完成其实与 判断JavaScript 文件是否加载完成. 采用的方法很类似: var iframe = document.createElement( ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- jquery判断图片是否加载完毕
来源: <http://www.2cto.com/kf/201409/331234.html> 利用图片没有加载完成的时候,宽高为0.我们很容易判断图片的一个加载情况.如下: 思路:判断图 ...
- H5+JS+JQuery+ECharts实现异步加载
这几天,看了一下ECharts官网的API和Demo发现很有意思,于是就利用模型预测产生的数据做一个伪实时的动态数据显示 . 首先,创建一个index.html的文件,我用的vscode打开的,进行编 ...
随机推荐
- Jenkins之发布报错“error: RPC failed; curl 18 transfer closed with outstanding read data remaining”
报错信息: error: RPC failed; curl transfer closed with outstanding read data remaining fatal: The remote ...
- Ubuntu-apt安装Jenkins
系统环境: Ubuntu 16.0.4 2CPU,8G 1.默认Ubuntu软件包里没有Jenkins 2.系统里添加存储密钥 wget -q -O - https://pkg.jenkins.io/ ...
- 调用submit()方式提交表单
今天在看高级程序设计时看到的这样一段话: 在以调用submit()方法的形式提交表单时,不会触发submit事件 写了一个小例子做了下测试,的确如此: <form id="fm&quo ...
- httpd.exe占用100%CPU
客户VPShttpd.exe进程占用100%CPU百度搜了下,很多文章: 在网上也没有能够直接找到比较好的解决方法,后来在一个帖子上看到说,有可能是apache与其他的软件冲突了(参考http://t ...
- ubuntu 文件解压命令
[解压.zip文件] unzip ./FileName.zip //前提是安装了unzip 安装unzip命令:sudo apt-get install unzip 卸载unzip软件 命令:sudo ...
- eCharts基础知识
eCharts插件介绍 http://echarts.baidu.com/tutorial.html#ECharts%20%E7%89%B9%E6%80%A7%E4%BB%8B%E7%BB%8D
- Java——HashSet和TreeSet的区别
HashSetHashSet有以下特点 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可以是null,但只能放入一个null当向HashSet集合中存入一个元素时,HashSe ...
- Vue.js - day6
注意: 有时候使用npm i node-sass -D装不上,这时候,就必须使用 cnpm i node-sass -D 在普通页面中使用render函数渲染组件 在webpack中配置.vue组件页 ...
- spark性能测试理论-Benchmark(转)
一.Benchmark简介Benchmark是一个评价方式,在整个计算机领域有着长期的应用.正如维基百科上的解释“As computer architecture advanced, it becam ...
- C++拾遗(四)——顺序容器
之前一篇博文(<初窥标准库>)简单了解了一种最常用的顺序容器:vector类型.本文将对该文内容进行进一步的学习和完善,继续讨论标准库提供的顺序容器类型.所谓顺序容器,即将单一类型的元素聚 ...