文档章节

JavaScript 学习笔记7

c
 candy-chocolate
发布于 2016/11/06 17:19
字数 1239
阅读 2
收藏 0

第八章 BOM

1.window对象

全局作用域:所有在全局作用域中声明的变量、函数都会变成Window对象的属性和方法

                       全局变量不能通过delete操作符删除,直接在window对象上定义的属性可以

                        尝试访问未声明的变量会抛出错误,但通过查询window对象可知道未声明的对象是否存在

                       var a=window.b;    //b未声明,不会发生错误,属于一次性查询

窗口关系和框架:三个对象

                               top——始终指向最高层的框架,也就是浏览器窗口

                              parent——始终指向当前框架的直接上层框架,没有框架的情况下等于top

                               self——始终指向window,目的:与top和parent对应起来

                              注:所有这些对象都是window对象的属性

窗口位置:

                      确定和修改window对象位置属性——screenLeft 、screenTop/screenX、screenY

                    eg:var leftPos =(typeof window.screenLeft == "number")window.screenLeft:window.screenX;

                    将窗口移动到一个新位置方法——moveTo(新位置的x,y坐标值),moveBy(水平和垂直方向移动的像素数)

                      只能对最外层的window对象使用   

窗口大小:  outerWidth,outerHeight——返回浏览器窗口本身的尺寸

                     innerWidth,innerHeight—— 返回页面视图区的大小(去掉边框)

                    document.documentElement.clientWidth——保存页面窗口的信息,标准模式下有效

                   resizeTo(接受新的宽度和高度)resizeBy(接受高度,宽度之差)——调整浏览器窗口的大小

导航和打开窗口:window.open(url网址,窗口目标名称,特性字符串,布尔值),返回一个指向新窗口的引用

                                 调用close()方法可以关闭新打开的窗口

                                 新创建的window对象有一个opener属性,保存着打开它的原始窗口对象,operner属性值设置为null就是告诉浏览器新创建的标签页不需要与打开它的标签页通信,可以在独立的进程中运行

间歇调用和超时调用:setTimeout(要执行的代码,时间),返回一个数值ID,取消尚未执行的超时调用计划,通过clearTimeout()并传入相应的调用ID

                                           setInterval()——间歇调用,取消clearInterval()

系统对话框(同步和模态):alert()——显示一个系统对话框,包含指定文本和一个"OK"按钮

                                                    confirm()——和alert()的区别,还会显示一个cancel按钮

                                                     prompt()——用于提示用户输入一些文本,接受两个参数:显示给用户的文本和文本输入域的默认值,有ok和cancel两个按钮

                                                   print()和find()——异步显示

 

 

2.location对象——提供了与当前窗口中加载的文档有关的信息和一些导航的功能

                         window.location= =document.location

                       查询字符串参数——location.search,返回从问好到末尾的所有内容

                      改变浏览器的位置  —— location.assign(url),立即打开新的url并生成一条历史记录

                                                                  location.href属性

                                                                  location.replace(url)——仅用后退,改变浏览器位置,但不会生成新纪录

                        reload()——重载当前显示的页面

3.navigator对象——属性通常用于检查显示网页的浏览器类型

   检测插件——plugins数组,每一项都有name,description,fiename,length

  注册处理程序,可以让一个站点致命它可以处理特定类型的信息——

                             registerContentHandle(要处理的MIME类型,可以处理该MIME类型的页面的url,应用程序的名称)

MIME   是描述消息内容类型的因特网标准。

                             registerProtocolHandle(要处理的协议,处理该协议的url,应用程序的名称)

4.screen对象——基本只用来表明客户端的能力

5.history对象——保存着用户上网的历史记录

                        history.go(number)——任意向前/后跳转

                        history.go(string)——跳转到包含字符串最近的页面

                        history.back()//后退              history.forward()//前进

                        history.length;         //保存历史记录的数量

第九章  客户端检测

1.能力检测(特性检测)

目标:识别浏览器的能力

概念:1.先检测达成目的最常用的特性

            2.必须检测实际要用到的特性

            3.尽量使用typeof进行能力检测

            4.能力检测不是浏览器检测,根据浏览器不同将能力组合起来是更可取的方式

2.怪癖检测:识别浏览器的特殊行为

3.用户代理检测

通过检测用户代理字符串来确定实际使用的浏览器,通过navigator.userAgent属性来访问用户代理字符串

电子欺骗——通过在自己的用户代理字符串中加入一些错误或误导性新来来达到欺骗浏览器的目的

用户代理字符串检测技术:

a.识别搜索引擎

五大呈现引擎:IE,Gecko,Webkit,KHTML,Opera

检测顺序:opera,webkit,KHTML,Gecko,IE

b.识别浏览器

c.识别平台

d.识别操作系统

e.识别移动设备

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

c
粉丝 1
博文 9
码字总数 12006
作品 0
上海
私信 提问
读《JavaScript高级程序设计》

1、JavaScript学习笔记1:JavaScript学前介绍 http://my.oschina.net/bluefly/blog/478575 2、JavaScript学习笔记2:JavaScript基本概念 http://my.oschina.net/bluefly/blog/484445......

slyso
2015/07/14
180
0
分享51本关于JavaScript方面的学习书籍(免费下载)

分享51本关于JavaScript方面的学习书籍(免费下载) 1、JavaScript面向对象15分钟教程 2、原型、作用域、闭包的完整解释 3、Javascript面向对象特性实现(封装、继承、接口) 4、JavaScript面向...

邓剑彬
2012/12/02
1K
12
day03_js学习笔记_03_js的事件、js的BOM、js的DOM

day03js学习笔记03_js的事件、js的BOM、js的DOM ============================================================================= 涉及到的知识点有: ==================================......

黑泽明军
2018/04/19
0
0
day03_js学习笔记_02_js的内建对象、js的函数

day03js学习笔记02_js的内建对象、js的函数 ========================================================================================================================================......

黑泽明军
2018/04/19
0
0
day02_js学习笔记_01_js的简介、js的基本语法

day02js学习笔记01_js的简介、js的基本语法 ========================================================================================================================================......

黑泽明军
2018/04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

全面兼容IE6/IE7/IE8/FF的CSS HACK写法

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie...

前端老手
5分钟前
2
0
常用快递电子面单批量打印api接口对接demo-JAVA示例

目前有三种方式对接电子面单: 1.快递公司:各家快递公司逐一对接接口 2.菜鸟:支持常用15家快递电子面单打印 3.快递鸟:仅对接一次,支持常用30多家主流快递电子面单打印 目前也是支持批量打...

程序的小猿
8分钟前
5
0
Yii 框架中rule规则必须搭配验证函数才能使用

public $store_id;public $user_id;public $page;public $limit;public $list;public $mch_list;public $cart_id;public $is_community;public $shop_id;public $cart_typ......

chenhongjiang
10分钟前
2
0
Flutter使用Rammus实现阿里云推送

前言: 最近新的Flutter项目有“阿里云推送通知”的需求,就是Flutter的App启动后检测到有新的通知,点击通知栏然后跳转到指定的页面。在这里我使用的是第三方插件Rammus来实现通知的推送,之...

EmilyWu
11分钟前
23
0
Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的: 短网址又称网址缩短、缩短网址、URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短...

阿里巴巴云原生
26分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部