JS基础-BOM

                    BOM

                    BOM 是 browser object model 的缩写, 简称浏览器对象模型。 主要处理浏览器窗口和框架,
                    描述了与浏览器进行交互的方法和接口, 可以对浏览器窗口进行访问和操作, 譬如可以弹出
                    新的窗口, 回退历史记录, 获取 url……

                    BOM 与 DOM 的关系

                    1. javacsript 是通过访问 BOM 对象来访问、 控制、 修改浏览器
                    2. BOM 的 window 包含了 document, 因此通过 window 对象的 document 属性就可以访问、
                      检索、 修改文档内容与结构。
                    3. document 对象又是 DOM 模型的根节点。

                    因此, BOM 包含了 DOM, 浏览器提供出来给予访问的是 BOM 对象, 从 BOM 对象再访
                    问到 DOM 对象, 从而 js 可以操作浏览器以及浏览器读取到的文档

                    BOM 对象包含哪些内容?

                    • Window JavaScript 层级中的顶层对象, 表示浏览器窗口。
                    • Navigator 包含客户端浏览器的信息。
                    • History 包含了浏览器窗口访问过的 URL。
                    • Location 包含了当前 URL 的信息。
                    • Screen 包含客户端显示屏的信息。

                    History 对象

                    History 对象包含用户(在浏览器窗口中) 访问过的 URL

                    方法/属性 描述
                    length 返回浏览器历史列表中的 URL 数量。
                    back() 加载 history 列表中的前一个 URL。
                    forward() 加载 history 列表中的下一个 URL。
                    go() 加载 history 列表中的某个具体页面

                    Location 对象

                    Location 对象包含有关当前 URL 的信息。

                    属性 描述
                    hash 设置或返回从井号 (#) 开始的 URL(锚) 。
                    host 设置或返回主机名和当前 URL 的端口号。
                    hostname 设置或返回当前 URL 的主机名。
                    href 设置或返回完整的 URL。
                    pathname 设置或返回当前 URL 的路径部分。
                    port 设置或返回当前 URL 的端口号。
                    protocol 设置或返回当前 URL 的协议。
                    search 置或返回从问号 (?) 开始的 URL(查询部分) 。
                    方法 描述
                    assign() 加载新的文档。
                    reload(‘force’) 重新加载当前文档。参数可选,不填或填 false 则取浏览器缓存的文档
                    replace() 用新的文档替换当前文档。

                    Window 对象

                    Window 对象表示一个浏览器窗口或一个框架。 在客户端 JavaScript 中, Window 对象
                    是全局对象,所有的表达式都在当前的环境中计算。 例如,可以只写 document, 而
                    不必写 window.document。

                    属性 描述
                    closed 返回窗口是否已被关闭。
                    defaultStatus 设置或返回窗口状态栏中的默认文本。 (仅 Opera 支持)
                    document 对 Document 对象的只读引用。 请参阅 Document 对象。
                    history 对 History 对象的只读引用。 请参数 History 对象。
                    innerheight 返回窗口的文档显示区的高度。
                    innerwidth 返回窗口的文档显示区的宽度。
                    length 设置或返回窗口中的框架数量。
                    location 用于窗口或框架的 Location 对象。 请参阅 Location 对象。
                    name 设置或返回窗口的名称。
                    Navigator 对 Navigator 对象的只读引用。 请参数 Navigator 对象。
                    opener 返回对创建此窗口的窗口的引用。
                    outerheight 返回窗口的外部高度。
                    outerwidth 返回窗口的外部宽度。
                    pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。
                    pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
                    parent 返回父窗口。
                    Screen 对 Screen 对象的只读引用。 请参数 Screen 对象。
                    self 返回对当前窗口的引用。 等价于 Window 属性。
                    status 设置窗口状态栏的文本。 (默认只支持 Opera)
                    top 返回最顶层的先辈窗口。
                    window window 属性等价于 self 属性, 它包含了对窗口自身的引用。
                    screenLeft
                    screenTop
                    screenX
                    screenY
                    只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。 IE、 Safari、 Chrome 和 Opera 支持 screenLeft 和 screenTop, 而 Chrome、 Firefox 和 Safari 支持 screenX 和 screenY。
                    方法 描述
                    alert() 显示带有一段消息和一个确认按钮的警告框。
                    blur() 把键盘焦点从顶层窗口移开。
                    confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
                    createPopup() 创建一个弹出窗口。 只有 ie 支持(不包括 ie11)
                    focus() 把键盘焦点给予一个窗口。
                    moveBy() 可相对窗口的当前坐标把它移动指定的像素。
                    moveTo() 把窗口的左上角移动到一个指定的坐标。
                    open() 打开一个新的浏览器窗口或查找一个已命名的窗口。 window.open(URL,name,features,replace)
                    print() 打印当前窗口的内容。
                    prompt() 显示可提示用户输入的对话框。
                    resizeBy() 按照指定的像素调整窗口的大小。
                    resizeTo() 把窗口的大小调整到指定的宽度和高度。
                    scrollBy() 按照指定的像素值来滚动内容。
                    scrollTo() 把内容滚动到指定的坐标。
                    setInterval() 按照指定的周期(以毫秒计) 来调用函数或计算表达式。
                    setTimeout() 在指定的毫秒数后调用函数或计算表达式。
                    clearInterval() 取消由 setInterval() 设置的 timeout。
                    clearTimeout() 取消由 setTimeout() 方法设置的 timeout。close() 关闭浏览器窗口

                    Navigator 对象包含的属性描述了正在使用的浏览器。 可以使用这些属性进行平台专用的配置。 虽然这个对象的名称显而易见的是 Netscape 的 Navigator 浏览器, 但其他实现了 JavaScript 的浏览器也支持这个对象。

                    属性 描述
                    appCodeName 返回浏览器的代码名。 以 Netscape 代码为基础的浏览器中, 它的值是 "Mozilla"。Microsoft 也是
                    appMinorVersion 返回浏览器的次级版本。 (IE4、 Opera 支持)
                    appName 返回浏览器的名称。
                    appVersion 返回浏览器的平台和版本信息。
                    browserLanguage 返回当前浏览器的语言。 (IE 和 Opera 支持)cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值。
                    cpuClass 返回浏览器系统的 CPU 等级。 (IE 支持)
                    onLine 返回指明系统是否处于脱机模式的布尔值。
                    platform 返回运行浏览器的操作系统平台。
                    systemLanguage 返回当前操作系统的默认语言。 (IE 支持)
                    userAgent 返回由客户机发送服务器的 user-agent 头部的值。
                    userLanguage 返回操作系统设定的自然语言。 (IE 和 Opera 支持)
                    plugins 返回包含客户端安装的所有插件的数组
                    方法 描述
                    javaEnabled() 规定浏览器是否支持并启用了 Java。
                    taintEnabled() 规定浏览器是否启用数据污点 (data tainting)。

                    Screen 对象

                    Screen 对象包含有关客户端显示屏幕的信息。 每个 Window 对象的 screen 属性都引用一个 Screen 对象。 Screen 对象中存放着有关显示浏览器屏幕的信息。 JavaScript 程序将利用这些信息来优化它们的输出, 以达到用户的显示要求。 例如,一个程序可以根据显示器的尺寸选择使用大图像还是使用小图像,它还可以根据显示器的颜色深度选择使用 16 位色还是使用 8 位色的图形。 另外,JavaScript 程序还能根有关屏幕尺寸的信息将新的浏览器窗口定位在屏幕中间。

                    属性 描述
                    availHeight 返回显示屏幕的高度 (除 Windows 任务栏之外)。
                    availWidth 返回显示屏幕的宽度 (除 Windows 任务栏之外)。
                    bufferDepth 设置或返回调色板的比特深度。 (仅 IE 支持)colorDepth 返回目标设备或缓冲器上的调色板的比特深度。
                    deviceXDPI 返回显示屏幕的每英寸水平点数。 (仅 IE 支持)
                    deviceYDPI 返回显示屏幕的每英寸垂直点数。 (仅 IE 支持)
                    fontSmoothingEnabled 返回用户是否在显示控制面板中启用了字体平滑。 (仅 IE 支持)
                    height 返回显示屏幕的高度。
                    logicalXDPI 返回显示屏幕每英寸的水平方向的常规点数。 (仅 IE 支持)
                    logicalYDPI 返回显示屏幕每英寸的垂直方向的常规点数。 (仅 IE 支持)
                    pixelDepth 返回显示屏幕的颜色分辨率(比特每像素) 。
                    updateInterval 设置或返回屏幕的刷新率。 (仅 IE11 以下支持)
                    width 返回显示器屏幕的宽度。

                    检测浏览器版本版本有哪些方式?

                    • 根据 navigator.userAgent // UA.toLowerCase().indexOf(‘chrome‘)
                    • 根据 window 对象的成员 // ‘ActiveXObject‘ in window

                    offsetWidth/offsetHeight,clientWidth/clientHeight 与 scrollWidth/scrollHeight 的区别

                    • offsetWidth/offsetHeight 返回值包含 content + padding + border,效果与 e.getBoundingClientRect()相同
                    • clientWidth/clientHeight 返回值只包含 content + padding,如果有滚动条,也不包含滚动条
                    • scrollWidth/scrollHeight 返回值包含 content + padding + 溢出内容的尺寸
                    相关文章
                    相关标签/搜索
                    每日一句
                      每一个你不满意的现在,都有一个你没有努力的曾经。
                    公众号推荐
                       一个历史类的公众号,欢迎关注
                    一两拨千金
                    今期管家婆大图 玄机图六合宝典2020年香港马会正版挂牌免费资料大全开奖历史记录在线查询网 梧州市| 普定县| 德保县| 云霄县| 巴彦县| 达州市| 克什克腾旗| 精河县| 岳普湖县| 中西区| 莲花县| 沙坪坝区| 德阳市| 新宾| 敦化市| 广昌县| 鄂州市| 南宫市| 舞阳县| 怀远县| 桃园县| 体育| 泰顺县| 云阳县| 和平县| 博罗县| 南城县| 广昌县| 黄骅市| 田东县| 大荔县| 读书| 古交市| 五大连池市| 龙口市| 建宁县| 江城| 富平县| 五指山市| 迭部县| 湟中县| 玉环县| 铁岭县| 儋州市| 景谷| 鄂州市| 米脂县| 政和县| 濮阳市| 甘洛县| 涟源市| 金塔县| 固安县| 昌都县| 南陵县| 新闻| 栾城县| 松溪县| 林口县| 界首市| 肇州县| 莆田市| 郸城县| 枞阳县| 姜堰市| 华宁县| 句容市| 襄垣县| 凭祥市| 库伦旗| 石泉县| 额敏县| 武乡县| 阜南县| 宁远县| 溆浦县| 涟水县| 新沂市| 辽阳市| 容城县| 湖北省| 札达县| 高雄县| 固始县| 宜川县| 武陟县| 綦江县| 昭通市| 隆子县| 措勤县| 罗田县| 鹿泉市| 甘德县| 南和县| 西和县| 乐平市| 阜康市| 奉化市| 吉木萨尔县| 西林县| 玉山县| 毕节市| 凤庆县| 慈利县| 迁安市| 北海市| 彭泽县| 香河县| 新龙县| 富阳市| 延安市| 陈巴尔虎旗| 成都市| 宝鸡市| 镇坪县| 香格里拉县| 大宁县| 东兰县| 武山县| 卢氏县| 盘锦市| 昌乐县| 潍坊市| 高雄市| 开封市| 宜兰市| 晋州市| 达拉特旗| 遵化市| 宽城| 连州市| 茌平县| 南皮县| 通化市| 城口县| 论坛| 堆龙德庆县| 宿迁市| 渝北区| 额尔古纳市| 尼玛县| 化隆| 桑日县| 湟中县| 花莲县| 都兰县| 平塘县| 双桥区| 固安县| 通江县| 黄浦区| 克拉玛依市| 云南省| 鄯善县| 通榆县| 蕲春县| 孝昌县| 泗洪县| 张北县| 宜良县| 灵川县| 齐河县| 报价| 天祝| 吉木萨尔县| 海南省| 斗六市| 同江市| 卫辉市| 靖西县| 阳新县| 揭西县| 郸城县| 张家港市| 岐山县| 泾川县| 常熟市| 镇康县| 余姚市| 西华县| 汶川县| 河东区| 沅陵县| 蒙山县| 贵阳市| 大新县| 邵东县| 榆树市| 长宁区| 双辽市| 镇安县| 武冈市| 门头沟区| 福安市| 双柏县| 马龙县| 海原县| 赞皇县| 奈曼旗| 丘北县| 桂阳县| 临沭县| 巴彦淖尔市| 闵行区| 佛学| 绥中县| 和硕县| 湘潭县| 台北市| 平潭县| 湟源县| 太仓市| 桦甸市| 资兴市| 墨玉县| 禄丰县| 犍为县| 宝鸡市| 华亭县| 长寿区| 富锦市| 巫山县| 德兴市| 苗栗县| 深泽县| 武平县| 隆安县| 赤壁市| 宜君县| 柞水县| 丁青县| 泸溪县| 萍乡市| 华亭县| 荥阳市| 天峻县| 泰来县| 芦山县| 邢台县| 临江市| 旌德县| 焦作市| 信宜市| 莱西市| 武冈市| 景德镇市| 吴桥县| 察雅县| 江津市| 桐庐县| 霍城县| 田阳县| 正镶白旗| 湛江市| 沙湾县| 高淳县| 乐平市| 黔西县| 中宁县| 南城县| 舒城县| 修水县| 安福县| 肥东县| 乌拉特中旗| 迁西县| 定边县| 嘉善县| 新干县| 扶绥县| 遂宁市| 河间市| 海伦市| 静安区| 厦门市| 崇阳县| 许昌县| 苏尼特右旗| 潍坊市| 佛坪县| 那坡县| 黄大仙区| 临海市| 东方市| 城固县| 通化县| 邵武市| 衡山县| 威远县| 阿合奇县| 巴塘县| 上蔡县| 阜城县| 三穗县| 德兴市| 景谷| 桐庐县| 黑水县| 宁武县| 东明县| 临高县| 定兴县| 五莲县| 淮北市| 哈尔滨市| 吉木乃县| 宜阳县| 日土县| 湛江市| 葫芦岛市| 大埔县| 阿鲁科尔沁旗| 腾冲县| 固镇县| 宽甸| 大新县| 高尔夫| 含山县| 随州市| 永川市| 马关县| 萨嘎县| 公安县| 灌南县| 唐海县| 阳西县| 克山县| 越西县| 台东县| 盱眙县| 卓尼县| 江源县| 大悟县| 三穗县| 青海省| 山东| 钦州市| 独山县| 华容县| 洪洞县| 桂平市| 南皮县| 鹤壁市| 乃东县| 密云县| 大英县| 清水河县| 泰来县| 牡丹江市| 五原县| 大宁县| 迭部县| 富顺县| 宜春市| 南涧| 阜平县| 兴山县| 青海省| 深州市| 偃师市| 冷水江市| 北碚区| 融水| 荆门市| 夏邑县| 望奎县| 女性| 克山县| 类乌齐县| 宣城市| 望都县| 邻水| 武威市| 南皮县| 宁海县| 呼玛县| 十堰市| 扶沟县| 甘肃省| 买车| 红原县| 惠东县| 双鸭山市| 紫阳县| 汝城县| 漳平市| 天水市| 普安县| 体育| 伊通| 丰镇市| 九台市| 政和县| 衡阳市| 江口县| 芦山县| 连州市| 东台市| 镇雄县| 丹江口市| 乌海市| 淮安市| 大方县| 晋江市| 铜陵市| 新余市| 安吉县| 虎林市| 饶阳县| 饶河县| 勃利县| 洛阳市| 高淳县| 宁陵县| 临江市| 中西区| 唐海县| 新蔡县| 万山特区| 昆山市| 宁南县| 绵竹市| 九寨沟县| 和硕县| 屏南县| 七台河市| 新营市| 吴旗县| 湖南省| 读书| 沂南县| 嘉定区| 吴川市| 龙口市| 高尔夫| 利津县| 隆子县| 大城县| 桐乡市| 焦作市| 赣州市| 无为县| 余庆县| 龙海市| 陵川县| SHOW| 中方县| 北辰区| 青州市| 工布江达县| 京山县| 陇西县| 临安市| 京山县| 高州市| 西峡县| 白玉县| 宜州市| 夏津县| 玉林市| 庆云县| 巍山| 马鞍山市| 安国市| 吉木乃县| 洞口县| 河东区| 高邮市| 长顺县| 营口市| 郓城县| 湛江市| 盐山县| 定边县| 乌兰浩特市| 蒙阴县| 洞头县| 宜昌市| 乌兰县| 三江| 桂阳县| 宿州市| 砀山县| 丰城市| 大埔区| 泰兴市| 淮南市| 宁乡县| 来凤县| 庄河市| 平湖市| 呼玛县| 申扎县| 南丹县| 五莲县| 汽车| 漳州市| 张家川| 肃宁县| 青田县| 澎湖县| 利辛县| 浦城县| 潍坊市| 遵义市| 昆明市| 大冶市| 扬州市| 孟连| 东平县| 石棉县| 平南县| 永修县| 满城县| 阿图什市| 温泉县| 交城县| 利川市| 澎湖县| 长子县| 苏尼特右旗| 巴塘县| 潮安县| 黑龙江省| 垫江县| 淮滨县| 侯马市| 海阳市| 台东市| 进贤县| 兰州市| 洪江市| 都兰县| 杭锦后旗| 嵊泗县| 彭山县| 班玛县| 且末县| 中宁县| 连平县| 沂源县| 三原县| 江西省| 科技| 赤壁市| 洛南县| 临海市| 彝良县| 肇州县| 增城市| 玛沁县| 伊金霍洛旗| 冷水江市| 庆阳市| 丰宁| 自贡市| 大埔县| 广元市| 长沙县| 东山县| 玛曲县| 吉水县| 鹿泉市| 得荣县| 大同市| 博罗县| 射洪县| 曲松县| 海晏县| 元江| 安西县| 万山特区| 威宁| 定州市| 葵青区| 新和县| 班玛县| 马山县| 婺源县| 大丰市| 科尔| 长海县| 阳江市| 视频| 多伦县| 石城县| 汝南县| 濮阳市| 惠州市| 仙桃市| 沙坪坝区| 万盛区| 洪雅县| 武宁县| 福安市| 新巴尔虎左旗| 长春市| 德令哈市| 怀化市| 东辽县| 凤山县| 遵化市| 广饶县| 鱼台县| 阿坝县| 区。| 若羌县| 吉木萨尔县| 浦江县| 文安县| 景宁| 攀枝花市| 凌云县| 新沂市| 绿春县| http://wap.jx1870leadv.fun http://m.hz0j1r5vo.fun http://m.jx1870insertv.fun http://www.hz0j1r6vo.fun http://m.jx1870instruzentv.fun http://wap.hz0j2r2vo.fun http://m.jx1870filterv.fun http://wap.hz0j3r6vo.fun http://m.hz0j2r8vo.fun http://jx1870figurev.fun http://wap.jx1870icev.fun http://wap.jx1870forgetv.fun http://wap.jx1870freev.fun http://www.jx1870frontv.fun http://jx1870inkv.fun http://www.jx1870institutev.fun http://m.jx1870gazev.fun http://m.jx1870hozev.fun