前端基础笔记

【javascript】BOM——navigator 对象

2017-11-23  本文已影响4人  shanruopeng
属性或方法 说 明 IE Firefox Safari/Chrome Opera
appCodeName 浏览器的名称。通常都是Mozilla,即使在非Mozilla浏览器中也是如此 3.0+ 1.0+ 1.0+ 7.0+
appMinorVersion 次版本信息 4.0+ 9.5+
appName 完整的浏览器名称 3.0+ 1.0+ 1.0+ 7.0+
appVersion 浏览器的版本。一般不与实际的浏览器版本对应 3.0+ 1.0+ 1.0+ 7.0+
buildID 浏览器编译版本 2.0+
cookieEnabled 表示cookie是否启用 4.0+ 1.0+ 1.0+ 7.0+
cpuClass 客户端计算机中使用的CPU类型(x86、68K、Alpha、PPC或Other) 4.0+
javaEnabled() 表示当前浏览器中是否启用了Java 4.0+ 1.0+ 1.0+ 7.0+
language 浏览器的主语言 1.0+ 1.0+ 7.0+
mimeTypes 在浏览器中注册的MIME类型数组 4.0+ 1.0+ 1.0+ 7.0+
onLine 表示浏览器是否连接到了因特网 4.0+ 1.0+ 9.5+
oscpu 客户端计算机的操作系统或使用的CPU 1.0+
platform 浏览器所在的系统平台 4.0+ 1.0+ 1.0+ 7.0+
plugins 浏览器中安装的插件信息的数组 4.0+ 1.0+ 1.0+ 7.0+
preference() 设置用户的首选项 1.5+
product 产品名称(如 Gecko) 1.0+ 1.0+
productSub 关于产品的次要信息(如Gecko的版本) 1.0+ 1.0+
register-ContentHandler() 针对特定的MIME类型将一个站点注册为处理程序 2.0+
register-ProtocolHandler() 针对特定的协议将一个站点注册为处理程序 2.0
systemLanguage 操作系统的语言 4.0+
userAgent 浏览器的用户代理字符串 3.0+ 1.0+ 1.0+ 7.0+
userLanguage 操作系统的默认语言 4.0+ 7.0+
userProfile 借以访问用户个人信息的对象 4.0+
vendor 浏览器的品牌 1.0+ 1.0+
vendorSub 有关供应商的次要信息 1.0+ 1.0+

1、检测插件

/**检测插件(在IE 中无效),在Firefox、Safari、Opera和Chrome中可以使用这种方法来检测插件。**/
function hasPlugin(name){
name = name.toLowerCase();
for (var i=0; i < navigator.plugins.length; i++){
if (navigator. plugins [i].name.toLowerCase().indexOf(name) > -1){
return true;
}
}
return false;
}
//检测Flash
alert(hasPlugin("Flash"));
//检测QuickTime
alert(hasPlugin("QuickTime"));
//检测IE 中的插件
function hasIEPlugin(name){
    try {
        new ActiveXObject(name);
        return true;
    } catch (ex){
        return false;
    }
}
//检测Flash
alert(hasIEPlugin("ShockwaveFlash.ShockwaveFlash"));
//检测QuickTime
alert(hasIEPlugin("QuickTime.QuickTime"));
//检测所有浏览器中的Flash
function hasFlash(){
    var result = hasPlugin("Flash");
    if (!result){
        result = hasIEPlugin("ShockwaveFlash.ShockwaveFlash");
    }
    return result;
}
//检测所有浏览器中的QuickTime
function hasQuickTime(){
    var result = hasPlugin("QuickTime");
    if (!result){
        result = hasIEPlugin("QuickTime.QuickTime");
    }
    return result;
}
//检测Flash
alert(hasFlash());
//检测QuickTime
alert(hasQuickTime());

2、注册处理程序

//将一个站点注册为处理RSS 源的处理程序
navigator.registerContentHandler("application/rss+xml",
"http://www.somereader.com?feed=%s", "Some Reader");
/**第一个参数是RSS 源的MIME 类型。第二个参数是应该接收RSS 源URL 的URL,其中的%s 表示RSS 源URL,由浏览器自动插入,当下一次请求RSS源时,浏览器就会打开指定的URL,而相应的Web 应用程序将以适当方式来处理该请求**/
//将一个应用程序注册为默认的邮件客户端
navigator.registerProtocolHandler("mailto",
"http://www.somemailclient.com?cmd=%s", "Some Mail Client");
/**
注册了一个mailto 协议的处理程序,该程序指向一个基于Web 的电子邮件客户端。同样,
第二个参数仍然是处理相应请求的URL,而%s 则表示原始的请求。
**/
好好学习
上一篇 下一篇

猜你喜欢

热点阅读