Web APIs BOM基础知识点

一、BOM浏览器对象模型

BOM

属性:

①window.navigator是一个对象

⚫ navigator 对象下包含有许多信息,如 platform、userAgent

⚫ onLine 属性检测当前是否处理联网状态

⚫ geolocation 属性可以获取用户所在经纬度位置

⚫ 注:众多的信息中有许多并不准确,如 appName、appCodeName等。

②History:history 的数据类型是对象,该对象与浏览器地址栏的操作相对应,如前进、后退、历史记录等

⚫ length 属性记录了与当前页页相关的页面的数量

⚫ back 方法跳转至上一个链接地址对应的页面,与浏览器的后退操作一致

⚫ forward 方法跳转至下一个连接地址对应的页面,与浏览器的前端操作一致

⚫ go 方法跳转到历史记录中任一链接地址对应的页面,参数可以正数也可以是负数

③location:地址栏,location 的数据类型是对象,它拆分并保存了 URL 地址的各个组成部分,URL 即我们平时所说的链接地址,它有着固定的格式如下图所示:协议、主机、端口、路径、参数、哈希。

⚫ location,.href 属性获取完整的 URL 地址,对其赋值时用于地址的跳转

⚫ search 属性获取地址中携带的参数,符号 ?后面部分

⚫ hash 属性获取地址中的啥希值,符号 # 后面部分

⚫ reload 方法用来刷新当前页面,传入参数 true 时表示强制刷新

⚫ assign:方法用于加载指定的url,会产生历史记录

⚫ replace:方法用于替换url,不会产生历史记录

④screen:screen 属性的数据类型是对象,它记录用户电脑屏幕的相关参数,如宽度、高度等(该对象的使用场景并不多)

⚫ Screen.width

⚫ Screen.height

二、了解window对象------顶级对象,全局对象

1、 方法:

Alert

⚫ 总结:警告提示框会阻程序继续执行,直到用户点击确认后。

Comfirm

⚫ 总结:用户点击确定返回值为 true ,点击取消返回值为 false。

Prompt

⚫ 总结:传入第 2 个参数可以充当默认值。

2.事件

load 会等待所有的资源(图片、样式、脚本、音视频等)加载完毕后才触发

DOMContentLoaded 只要 HTML 结构加载完毕就会被触发,该事件通过 document 进行监听

⚫ 将 script 标签写在 head 标签中时,查找 DOM 会失败

⚫ 由于 DOMContentLoaded 比 load 更早被触发,因此通常推荐使用 load 事件

①beforeunload:该事件会在即将离开当前页面时被触发,一般用于提示用户即将离开某个页面,用户可以阻止页面刷新和者跳转。

② resize:该事件会在浏览器窗口大小调整时被触发。documentElement 能够获得视口的大小------基于 resize 可以动态计算 html 的字号大小,完成移动端 rem 屏幕适配

三、文件读取

出于安全性考虑 JavaScript 无法直接读取用户本地的文件,必须由用户主动选择才能对本地文件进行读取,有两种方式引导用户做出选择:<input type="file">文件拖拽

文件拖拽drag:用户将文件直接拖拽至网页中的某个标签中,然后对文件进行读取

⚫ 用户拖动文件至监听了 dragover 事件的元素之上时,dragover 事件就会被触发

⚫ 用户拖动文件至监听了 drop 事件的元素之上然后松开拖拽文件时,drop 事件就会被触发

⚫ 事件对象 dataTransfer.files 是 File 类型对象,包含了文件的大小、名称、格式等信息

⚫ 通过 FileReader 实现文件的进行读取

④classList:是专门用于类名对象,该对象下包含了一些方法能够非常方便的进行类名的操作

add 用于为元素节点添加一个类名

remove 用于为元素节点删除一个类名

contains 用于检测是否包含某个类名

toggle 用于切换某个类名

四、自定义属性

data-*

⚫ 为了区分 HTML 的标准属性,要求所有的自定义属性均为 data- 做为固定的前缀,形如 data-src、data-my-info

⚫ 上述代码中 info、extra、abc-bcd 即自定义属性,data- 是语法前缀

dataset

⚫ 自定义属性的作用是帮助完成逻辑,所以获取自定义属性尤为重要。通过 DOM 节点的 dataset 属性可以获取所有的自定义属性,也可以重新为自定义属性赋值,通过 dataset 赋值的自定义属性不存在时,会自动添加

自定义属性使用 - 连接时,要采用驼峰命名规则

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

推荐阅读更多精彩内容