14、BOM知识点总结

BOM对象:

window
|__ Document 文档对象 (DOM)
|
|__ frames 框架集
|
|__ history 历史信息对象
|
|__ navigator 浏览器信息对象
|
|__ locatin 地址栏信息对象
|
|__ screen 屏幕对象

Frames

返回窗口中所有命名的框架frames[]

  • 该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架或 <iframe>。
  • 属性 frames.length 存放数组 frames[] 中含有的元素个数。
    注意: frames[] 数组中引用的框架可能还包括框架,它们自己也具有 frames[] 数组。

window:

-窗口属性和方法:

打开和关闭浏览器窗口:

方法:

- 打开新的浏览器窗口或查找一个已命名的窗口open()
  • open(URL,name,features,replace)
  • window.open()open()
  • URL:新窗口的地址,name:新窗口的名称,features:新窗口的特征如宽高,
  • replace:是否为新窗口创建浏览历史条目,true:替换当前条目,false:创建新的条目
    注意:open有返回值,返回目标窗口的window对象,可以给其绑定window方法或属性用来操作目标窗口
- 关闭浏览器窗口close()
  • 某个窗口可以通过调用 self.close() 或只调用 close() 来关闭其自身
  • 只有通过js代码打开的窗口才能由js代码关闭,这阻止了恶意脚本终止用户的浏览器
    属性:
- 返回窗口是否已被关闭closed
  • window.closed
    -若窗口已经关闭,则返回false,若未关闭则返回true
    -浏览器窗口的大小:
    方法:
- 把窗口的大小调整到指定的宽度和高度resizeTo()
  • resize(width,height)
  • width是必须的,但height是可选的
- 按照指定的像素调整窗口的大小resizeBy()
  • resizeBy(x,y)
  • x表示代码每次执行向右移动的距离,y表示每次想下移动的距离
    属性:
- 返回窗口的文档显示区的高度,宽度:innerheight,innerwidht
  • window.innerheight
  • 注意,他们有兼容性问题,IE浏览器需用以下属性代替:
    document.documentElement.clientHeight
    document.documentElement.clientWidht

浏览器窗口的位置:

方法:

- 把窗口的左上角移动到一个指定的坐标moveTo()
  • moveTo(x,y)
  • x和y分别表示窗口左上角的x和y坐标
- 可相对窗口的当前坐标把它移动指定的像素moveBy()
  • moveBy(x,y)
  • x和y分别表示相对当前坐标向右和向下移动的距离
    属性:
- 返回窗口的左上角在屏幕上的的 x 坐标和 y 坐标
  • 非火狐浏览器:
    screenLeft,screenTop
    window.screenLeft
  • 火狐浏览器:
    screenX,screenY
    window.screenX

浏览器滚轮滚动:

- 把内容滚动到指定坐标scrollTo()
  • scrollTo(x,y)
  • x和y分别表示要在窗口文档显示区左上角显示的文档的x和y坐标
- 按照指定的像素来滚动内容scrollBy()
  • scrollBy(width,height)
  • width必填,为每次执行使窗口宽度增加的宽度
  • height可选,为每次执行使窗口高度增加的高度

定时器和延时器:

- 开启一个定时器setInterval()

  • 变量名 = setInterval(执行的代码,执行周期)
  • 定时器会不停的调用其中的代码,知道定时器被关闭,注意:关闭定时器必须传入变量名,否则无法被关闭

- 关闭一个定时器clearInterval()

  • clearInterval(变量名)
  • 一般会在开启定时器前先加上一个关闭,以防定时器被重复开启

- 开启一个延时器setTimeout()

  • 变量名 = setTimeout(执行的代码,延迟时间)
  • 浏览器执行到延时器的调用时会延迟,然后再执行

- 关闭一个定时器clearTimeout()

  • clearTimeout(变量名)
  • 同定时器一样,延时器一般也会在开启延时器前先加上一个关闭,以防延时器被重复开启

浏览器弹窗:

- 显示带有一段消息和一个确认按钮的警告框alert()

  • window.alert()或alert(显示的文本)

- 显示带有一段消息以及确认按钮和取消按钮的对话框confirm()

  • confirm(提示的文本)
  • confirm()有返回值点击确定返回true,点击取消返回false

- 显示可提示用户输入的对话框prompt()

  • prompt(提示文本,默认输入文本)
  • prompt()有返回值,若点击取消则返回null,点击确认则返回输入的文本

Navigator:

返回由客户机发送服务器的 user-agent 头部的值userAgent

  • navigator.userAgent

是否支持cookie操作cookieEnabled

  • navigator.cookieEnabled

检测浏览器是否在线onLine

  • navigator.onLine

浏览器地理位置定位对象geolocation

  • navigator.geolocation

Screen:

返回当前屏幕的宽高(除了win任务栏)availWidth,availHeight

  • screen.availWidth

返回显示屏幕的宽高width,height

  • screen.width

History:

属性:

返回浏览器历史列表中的 URL 数量length

  • history.length

方法:

加载 history 列表中的前一个 URL back()

  • history.back()

加载 history 列表中的下一个 URL forward()

  • history.forward()

加载 history 列表中的某个具体页面 go()

  • history.go(numder | URL)

Location:

方法:

加载新的文档 assign()

  • location.assign(URL)

重新加载当前文档 reload()

  • location.reload(布尔值或不填)
  • 如不填或false,则会从缓存中获取刷新
  • 如填true,则重新下载刷新

用新的文档替换当前文档replace()

  • location.replace(newURL)
  • 该方法产生的记录会直接覆盖当前记录
    属性:

设置或返回主机名和当前 URL 的端口号 host

  • location.host

设置或返回当前 URL 的主机名 hostname

  • location.hostname
    设置或返回当前 URL 的端口号 port
  • location.port

设置或返回完整的 URL href

  • location.href
    设置或返回当前 URL 的路径部分 pathname
  • location.pathname
    设置或返回当前 URL 的协议 protocol
  • location.protocol
    设置或返回从井号 (#) 开始的 URL(锚)hash
  • location.hashlocation.hash=锚点
  • 可用来传输数据,也可用来定位锚点

设置或返回从问号 (?) 开始的 URL(查询部分)search

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

推荐阅读更多精彩内容