javascript之BOM对象(三其他对象)
一、navigator对象
navigator使用来识别浏览器的,是所有支持javascript的浏览器所共有的。与BOM的其他对象不同,每个浏览器的navigator对象都有一套自己的属性。
常见的属性名称:
appName 完整的浏览器名称
cookieEnabled 表示cookie是否启用
onLine 浏览器是否联网
platform 浏览器所在的系统平台
plugins 浏览器所安装的插件信息的数组
preference() 用户的首选项
userLanguage 浏览器的默认语言
1、检测插件
对于非IE浏览器可以使用plugins数组进行检查,该数组的每一项都包含了一下属性 :
- name 插件名称
- description 插件描述
- filename 插件文件名
- length 插件所处理的MIME类型数量
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;
}
alert(hasPlugin("Flash"));
通过navigator.plugins数组得到了插件数组,然后在插件数组中查询是否对应的插件名。
对于IE浏览器的插件检测方法:
在IE中检测插件的唯一方式就是试用ActiveXObject类型,并尝试创建特定插件的实例。IE是以COM对象来检测插件的,COM对象是以唯一标识符来确定对象的。
Flash插件的唯一表示符为:ShockwaveFlash.ShockwaveFlash
function hasIEPlugin(name)
{
try{
new ActiveXObject(name);
return true;
}catch(ex)
{
return false;
} }
alert(hasIEPlugin("ShockwaveFlash.ShockwaveFlash"));
由于两种差别太大,所以通常采用针对特定插件做检测算法
//检测所有浏览器的Flash插件
function hasFlush()
{
var result=hasPlugin("Flush");
if(!result)
{
result=hasIEPlugin("ShockwaveFlash.ShockwaveFlash");
}
return result;
}
首先是对所有浏览器都采用hasPlugin函数检测如果返回true就不用再检测IE因为IE已经用hasPlugin检测过了,否则要专门对IE进行检测。
2、注册处理程序:
navigator.registerContentHandler(mimeType, uri, title);//接收三个参数,要处理的MIME类型,可以处理该MIME类型的页面的URL以及应用程序的名称
navigator.registerProtocolHandler(protocol, url, title);//接收三个参数,协议名称,可以处理相应请求的页面的URL以及应用程序的名称
这两个方法可以让一个站点指明可处理的类型。
二、screen对象
screen对象包含着浏览器窗口外显示器的信息,每个浏览器的screen对象都包含有不同的属性
三、history对象
history对象保存用户上网的历史记录,从浏览器窗口打开的时候算起。history是window的属性,每一个窗口或者框架都有一个history对象。
go();方法,接收一个整数值或者字符串,表示前进或者后退的页数或者前往的页面
history.forward();前进1页
history.back();后退1页
javascript之BOM对象(三其他对象)的更多相关文章
- 《你不知道的JavaScript》整理(三)——对象
一.语法 两种形式定义:文字形式和构造形式. //文字形式 var myObj = { key: value }; //构造形式 var myObj = new Object(); myObj.key ...
- JavaScript学习笔记(三)——对象
第四章 理解对象 1 说明 对象的状态:属性,行为:方法: 对象定义放在花括号内: 用冒号分隔属性名和属性值: 用逗号分隔属性名和属性值对,包括方法: 最后一个属性值后面不加逗号: 属性名可以是任何字 ...
- javascript类继承系列三(对象伪装)
原理:在子类的构造器上调用超类构造器(父类构造器中的this指向子类实例),js提供了apply()和call()函数,可以实现这种调用 function baseClass() { this.col ...
- javascript之BOM编程Screen(屏幕)对象
这个对象属性相对比较简单.掌握四个方法即可. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- 使用jQuery快速高效制作网页交互特效--JavaScript操作BOM对象
JavaScript操作BOM 一.window对象: 二.window对象的属性和方法 1.windows对象的常用属性: 语法:window.属性名="属性值" 2.windo ...
- 你想了解的《javaScript语言精粹》(三)
# javaScript语言精粹 # 第三章 对象 - javaScript 数据类型 1. 基础数据类型 Number String Boolean Undefined N ...
- 第三章 JavaScript操作BOM对象
第三章 JavaScript操作BOM对象 一.window对象 浏览器对象模型(BOM)是javascript的组成之一,它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HT ...
- JavaScript的BOM(浏览器对象)基础语法总结
1.window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 2.history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能. ...
- JavaScript (JS)基础:BOM 浅析 (含window对象相关基本方法、属性解析)
① window对象(Math方法也属于window对象): window对象是JavaScript中的顶级对象,所有定义在全局作用域中的变量.函数都会变成window对象的属性和方法,window对 ...
- javascript之BOM对象(一window对象)
javascript包含三个部分,ECMAScript,BOM和DOM.ECMAScript是javascript的核心,包含javascript的基础语法.在Web中使用javascript,BOM ...
随机推荐
- ABP 异常
abp自己封装了一个异常的基类: 此异常用于直接显示给用户,可用于返回一些提示,如:密码错误,用户名不能为空等. 参数 Severity :异常的严重程度 是个Enum类型 基本使用: 系统常见异常: ...
- [LeetCode] 746. Min Cost Climbing Stairs 爬楼梯的最小损失
On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay ...
- vue 图片放大镜效果
插件名称:vue-photo-zoom-pro https://github.com/Mater1996/vue-photo-zoom-pro 效果图 使用: <template> &l ...
- 用 cgroups 管理 cpu 资源
转自:http://xiezhenye.com/2013/10/用-cgroups-管理-cpu-资源.html 这回说说怎样通过 cgroups 来管理 cpu 资源.先说控制进程的 cpu 使用. ...
- css line-height [转]
原文: http://www.cnblogs.com/dolphinX/p/3236686.html https://www.cnblogs.com/yangjie-space/p/4858132.h ...
- 团队作业第五次—项目冲刺-Day3
Day3 part1-SCRUM: 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺集合 团队名称 hunte ...
- 解决python错误 UnicodeDecodeError: 'gb2312' codec can't decode byte 0x8b in position 1: illegal multibyte sequence
报错的代码: url= 'http://kaijiang.500.com/shtml/ssq/19001.shtml' page =urllib.request.urlopen(url) conten ...
- 探索FFmpeg
Part1 :FFmpeg简介 FFmpeg定义 FFmpeg是一款音视频编解码工具,为开发者提供了大量音视频处理接口. FF指的是"Fast Forward" FFmpeg历史 ...
- 《Game Programming Patterns》游戏设计模式
转载自:https://blog.csdn.net/poem_qianmo/article/details/52505170 https://blog.csdn.net/poem_qianmo/art ...
- Web应急:网站被批量挂黑页
作为一个网站管理员,你采用开源CMS做网站,比如dedecms,但是有一天,你忽然发现不知何时,网站的友情链接模块被挂大量垃圾链接,网站出现了很多不该有的目录,里面全是博彩相关的网页.而且,攻击者在挂 ...