您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
javascript学习笔记-浏览器检测
发布时间:2018-04-05 18:03:05编辑:雪饮阅读()
navigator 对象
navigator 对象最早由 Netscape Navigator2.0 引入的 navigator 对象,现在已经成为识别客 户端浏览器的事实标准。
alert(window.navigator);
浏览器的名称(不太精确)
alert(navigator.appName);
浏览器用户代理字符串
alert(navigator.userAgent);
浏览器所在系统(谷歌和ie相同,火狐不同)
alert(navigator.platform);
浏览器嗅探器
浏览器嗅探器是一段程序,有了它,浏览器检测就变得简单了。我们这里提供了一个 browserdetect.js 文件,用于判断浏览器的名称、版本号及操作系统。
浏览器嗅探器的使用-获取浏览器名称
alert(BrowserDetect.browser);
浏览器嗅探器-获取浏览器版本
alert(BrowserDetect.version);
浏览器嗅探器-获取浏览器浏览器所宿主的操作系统
alert(BrowserDetect.OS);
检测插件
插件是一类特殊的程序。他可以扩展浏览器的功能,通过下载安装完成。比如,在线音 乐、视频动画等等插件。 navigator 对象的 plugins 属性,这个一个数组。存储在浏览器已安装插件的完整列表。
alert(navigator.plugins);
检测插件-遍历插件列表获取每个插件信息
document.write("<sapn style='color:red;'>插件个数:</span><sapn style='color:blue;'>"+navigator.plugins.length+"</span><br/>");
for(var i=0;i<navigator.plugins.length;i++){
//插件名称
document.write("<sapn style='color:red;'>插件名:</span><sapn style='color:blue;'>"+navigator.plugins[i].name+"</span>");
//插件的磁盘文件名
document.write("<sapn style='color:red;'>插件的磁盘文件名:</span><sapn style='color:blue;'>"+navigator.plugins[i].filename+"</span>");
//插件的描述信息
document.write("<sapn style='color:red;'>插件描述:</span><sapn style='color:blue;'>"+navigator.plugins[i].description+"</span><br/>");
}
Ie浏览器检测flash控件是否存在
function hasIEPlugin(name){
try{
new ActiveXObject(name);
return true;
}catch(e){
return false;
}
}
//每个控件有唯一的标识符,这里传参必须是该控件的标识符
alert(hasIEPlugin('ShockwaveFlash.ShockwaveFlash'));
MIME类型
MIME 是指多用途因特网邮件扩展。它是通过因特网发送邮件消息的标准格式。现在也 被用于在因特网中交换各种类型的文件。
alert(navigator.mimeTypes);
MIME类型-遍历浏览器的MIME类型
for (var i = 0; i < navigator.mimeTypes.length; i++) {
//类型引用可能为null
if (navigator.mimeTypes[i].enabledPlugin != null) {
document.write('<dl>');
//MIME类型名
document.write('<dd>类型名称:' + navigator.mimeTypes[i].type + '</dd>');
//MIME类型引用
document.write('<dd>类型引用:' + navigator.mimeTypes[i].enabledPlugin.name +
'</dd>');
//MIME类型的描述信息
document.write('<dd>类型描述:' + navigator.mimeTypes[i].description + '</dd>');
//MIME类型的文件扩展名
document.write('<dd>类型后缀:' + navigator.mimeTypes[i].suffixes + '</dd>');
document.write('</dl>')
}
}
变量不存在的可判断性
//直接alert一个不存在的变量,则不会报错,但在控制台中报错,这样不利于我们调试,也不利于我们做业务逻辑处理
//alert(opera);
//这样以来该不存在的变量则会直接弹出undefined,那么我们就可以根据这个值来做业务逻辑处理
alert(window.opera);
正则表达式模的静态获取
var str="adsa123";
var zz=/[^0-9]*(\d+)/.test(str);
alert(RegExp['$1']);
关键字词:javascript,浏览器