2018-12-17

8.4 screen对象

Javascript中有几个对象在变成重用处不大,而screen对象就是其中之一。
screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素宽度和高度等。
每个浏览器中的screen对象都包含着不相同的属性,下表列出了所有属性及支持相应属性的浏览器。


image.png

image.png

这些信息集中出现在测定客户端能力的站点跟踪工具中,但通常不会用于影响功能。
不过有时候也可能会用到其中的信息来调整浏览器窗口大小,使其占据屏幕的可用空间。例:

window.resizeTo(screen.availWidth,screen.availHeight)
//但是很多浏览器都会禁用调整浏览器窗口大小的能力,因此上面这行代码不一定在所有环境下有效。

设计移动设备的屏幕大小时,情况有点不一样。运行IOS的设备始终会像是把设备竖着拿在受理一样,因此返回的值是768*1024。而Android设备则会相应调用screen.width和screen.height的值。

8.5 history对象

history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。
因为history是window对象的属性,因此每个浏览器窗口、标签页、框架都有自己的history对象与特定的 window对相关联。
处于安全问题,开发人员无法得知用户浏览过的URL

使用go()方法可以在用户的历史记录中任意跳转,可以向后也可以向前。这个方法接受一个参数,表示向后或向前跳转的页面数的一个整数值,例:

//后退一页
history.go(-1);

//前进一页
history.go(1);

//前进两页
history.go(2);

也可以给go()方法传递一个字符串参数,此时浏览器会跳转到历史记录中包含该字符串的第一个位置——可能后退,也可能前进,具体要看哪个位置最近。如果历史记录中不包含该字符串,那么这个方法说明也不做,例:

//跳转到最近的wrox.com页面
history("wrox.com")

另外,还可以使用两个简写方法back()和forward()来代替go()。

//后退一页
history.back();

//前进一页
history.forward();

除了上述的方法外,history对象还有一个length属性,保存着历史记录的数量。这个数量包括所有历史记录,即所有向后和向前的记录。
对于加载到窗口、标签页或框架中的一个页面而言,history.length等于0。
通过像下面这样测试该属性的值,可以确定用户是否一开始就打开了你的页面:

if(history.length == 0){
    //这应该是用户打开窗口后的第一个页面
}

虽然history并不常用,但是在创建自定义的“后退”和“前进”按钮,以及检测当前页面是不是用户历史记录中的 第一个页面时,还是必须使用它。

8.6小结

浏览器对象模型(BOM)以window对象为依托,表示浏览器窗口以及页面可见区域。同时,window对象还是ECMAScript中的Global对象,因而所有全局变量和函数都是它的属性,且所有原生的构造函数及其他函数也都存在于它的命名空间下。

◆ 在使用框架时,每个框架都有自己的window对象以及所有原生构造函数及其他函数的副本。每个框架都保存在frames集合中,可以通过位置或通过名称来访问
◆ 有一些窗口指针,可以用来引用其他框架,包括父框架。
◆ top对象始终指向最外围的框架,也就是整个浏览器窗口。
◆ parent对象表示包含当前框架的框架,而self对象则回指window。
◆ 使用location对象可以通过编程方式来访问浏览器的导航系统。设置相应的属性,可以逐段或整体性的修改浏览器的URL
◆ 调用replace()方法可以导航到一个新URL,同时该URL会替换浏览器历史记录中当前显示的页面。
◆ navigator对象提供了与浏览器有关的信息。到底提供哪些信息,很大程度上取决于用户的浏览器;不过,也有一些公共的属性存在于所有浏览器中。
BOM还有两个对象:screen和history,但是它们的功能有限。
screen对象中保存着与客户端显示器有关的信息,这些信息一般只用于站点分析。
history对象为访问浏览器的历史记录开始了一个小缝隙,开发人员可以据此判断历史记录的数量,也可以在历史记录中向后或向前导航到任意页面。



第10章 DOM

DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。
DOM脱胎于Netscape及微软公司创始的DHTML(动态HTML),但现在它已经成为表现和操作页面标记的真正的跨平台、语言中立的方式。

1988年10月日DOM1级规范成为W3C的推荐标准,为基本的文档结构及查询提供了接口。

IE中所有DOM对象都是以COM对象的形式实现的。这意味着IE中的DOM对象与原生Javascript对象的行为或活动特点并不一致。

10.1 节点层次

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  •   ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么...
    霜天晓阅读 865评论 0 0
  • ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么 B...
    劼哥stone阅读 806评论 2 5
  • 电量消耗的全过程分析 1.唤醒CPU耗电情况,例如:打开屏幕,所有要使用CPU/GPU工作的动作都会唤醒屏幕,都会...
    孤独的根号十二阅读 922评论 0 2
  • 六月 站在岁月里看时光 云彩,蓝天,山川 在诗行里匆匆走过 一道幽暗的影子 潜伏了许多年 在追梦的路上 轮回或是新...
    雨韩阅读 369评论 16 12
  • 马特•普鲁默(Matt Plummer)创立的Zarvana是一家帮助人们提升效率的公司。 提高效率的5个建议: ...
    崇选阅读 173评论 0 0