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 + 溢出内容的尺寸
            相关文章
            相关标签/搜索
            每日一句
              每一个你不满意的现在,都有一个你没有努力的曾经。
            公众号推荐
               一个历史类的公众号,欢迎关注
            一两拨千金
            管家婆精选心水资料中特网 金门县| 徐州市| 绵竹市| 乐至县| 泰安市| 永泰县| 瑞丽市| 得荣县| 衡阳市| 从化市| 宜宾市| 赣州市| 闻喜县| 伊通| 娱乐| 郓城县| 桃园县| 溧水县| 凯里市| 靖远县| 临颍县| 广东省| 泸州市| 郑州市| 建德市| 远安县| 阳高县| 成武县| 长沙县| 滦南县| 石首市| 康保县| 缙云县| 西华县| 且末县| 河北区| 六枝特区| 昆明市| 泌阳县| 霍林郭勒市| 阿尔山市| 英吉沙县| 桂平市| 读书| 东山县| 周宁县| 高安市| 峡江县| 普兰店市| 梅河口市| 平山县| 新丰县| 通化市| 深水埗区| 蒙山县| 阿鲁科尔沁旗| 措勤县| 承德县| 濉溪县| 莱芜市| 胶南市| 霞浦县| 昔阳县| 苗栗县| 札达县| 本溪市| 万山特区| 江永县| 嘉峪关市| 五河县| 布拖县| 延长县| 昭平县| 西峡县| 蓬莱市| 和林格尔县| 东阿县| 巧家县| 富阳市| 彩票| 华容县| 云霄县| 巴里| 中西区| 成都市| 慈利县| 昌邑市| 和平县| 重庆市| 荣昌县| 松原市| 唐山市| 叶城县| 弥渡县| 藁城市| 东安县| 车险| 夏邑县| 揭阳市| 焉耆| 望奎县| 新巴尔虎左旗| 敖汉旗| 岳普湖县| 克什克腾旗| 新疆| 监利县| 武义县| 绵竹市| 时尚| 海宁市| 巴中市| 定日县| 神池县| 酒泉市| 和平县| 永和县| 广平县| 永新县| 大名县| 广丰县| 旅游| 邵阳县| 遵义县| 凉山| 鹿邑县| 泰宁县| 高平市| 二连浩特市| 土默特左旗| 囊谦县| 枣强县| 和平县| 香河县| 东城区| 哈尔滨市| 德化县| 无棣县| 大庆市| 固始县| 信宜市| 丰顺县| 鸡西市| 张家口市| 汤原县| 喀什市| 临颍县| 康马县| 金门县| 宁明县| 秦安县| 东台市| 齐河县| 安徽省| 通道| 静海县| 留坝县| 西华县| 安新县| 洛隆县| 沅江市| 乌鲁木齐县| 万山特区| 西宁市| 马公市| 酉阳| 壤塘县| 景泰县| 康保县| 中卫市| 田阳县| 娱乐| 库尔勒市| 杂多县| 砀山县| 宝兴县| 西乌| 剑川县| 宕昌县| 乡宁县| 洞头县| 隆回县| 夏邑县| 涿鹿县| 泾源县| 兴文县| 阳谷县| 荔波县| 晋中市| 五常市| 延长县| 哈巴河县| 莫力| 蒲江县| 大新县| 文登市| 澄迈县| 湘阴县| 普兰店市| 平武县| 开平市| 高阳县| 东至县| 易门县| 镇原县| 迁安市| 崇礼县| 南通市| 饶河县| 密云县| 宁强县| 中宁县| 同仁县| 赣州市| 永登县| 颍上县| 弥勒县| 宝清县| 定陶县| 云南省| 漾濞| 浦城县| 齐齐哈尔市| 枝江市| 资中县| 丰县| 石渠县| 阿鲁科尔沁旗| 若羌县| 西昌市| 喀喇沁旗| 张家川| 沈阳市| 思南县| 民和| 肇源县| 锡林郭勒盟| 怀化市| 靖安县| 新龙县| 泰安市| 慈溪市| 大厂| 普洱| 乐东| 松桃| 中江县| 班玛县| 大厂| 南阳市| 四川省| 固始县| 霍山县| 怀柔区| 封开县| 山东省| 陈巴尔虎旗| 彝良县| 新沂市| 义马市| 岳池县| 岢岚县| 中阳县| 岳西县| 泉州市| 安仁县| 遂平县| 宝兴县| 闸北区| 宁蒗| 兴和县| 台南市| 开远市| 泰顺县| 城固县| 杨浦区| 绩溪县| 连州市| 鄯善县| 丰原市| 陵川县| 甘南县| 东乡| 保康县| 德化县| 建水县| 陕西省| 尤溪县| 长岭县| 兰坪| 三江| 高雄县| 宁武县| 祁门县| 宁阳县| 喜德县| 桃园市| 新河县| 台南市| 永平县| 镇巴县| 呈贡县| 临邑县| 东乌珠穆沁旗| 永登县| 垦利县| 商南县| 河津市| 苏州市| 武平县| 资溪县| 滦南县| 保亭| 峨眉山市| 云和县| 奎屯市| 福州市| SHOW| 资讯| 万源市| 新民市| 滕州市| 九龙县| 普定县| 永福县| 六枝特区| 扬中市| 柏乡县| 江川县| 文登市| 博客| 西林县| 盖州市| 扶沟县| 新营市| 乐安县| 南郑县| 东宁县| 仙游县| 利川市| 长寿区| 南澳县| 青田县| 江源县| 巴彦淖尔市| 彰化市| 连平县| 泰来县| 仪陇县| 辽阳市| 潜江市| 辰溪县| 荔波县| 宜兰市| 林周县| 南川市| 茶陵县| 巴林右旗| 北京市| 都兰县| 安义县| 喀什市| 永州市| 松阳县| 海林市| 吉木乃县| 绥中县| 滁州市| 万年县| 贵溪市| 洛阳市| 罗山县| 滁州市| 江华| 安达市| 陵水| 金坛市| 延安市| 神木县| 锡林浩特市| 夏河县| 丹东市| 恩施市| 贵港市| 金乡县| 增城市| 呼玛县| 肥东县| 高阳县| 黎平县| 习水县| 宁波市| 丹凤县| 德安县| 大新县| 哈巴河县| 天气| 新晃| 古浪县| 榕江县| 安塞县| 临泽县| 洛浦县| 清涧县| 盐亭县| 商洛市| 贵定县| 大庆市| 阿合奇县| 沛县| 花垣县| 竹北市| 奎屯市| 石嘴山市| 临潭县| 绥棱县| 勃利县| 和顺县| 长海县| 同仁县| 浠水县| 民权县| 乌拉特后旗| 石楼县| 宜兰县| 泰和县| 新平| 塔城市| 襄汾县| 沁阳市| 长沙县| 云浮市| 盐津县| 大荔县| 天等县| 迁西县| 龙州县| 嵊州市| 蒙自县| 山东| 商都县| 青州市| 尼勒克县| 仪征市| 新蔡县| 大埔县| 衡东县| 施甸县| 登封市| 盘山县| 察隅县| 仁化县| 靖宇县| 兰州市| 龙游县| 嵩明县| 临漳县| 邯郸县| 建平县| 上饶县| 高州市| 玛沁县| 石河子市| 宜良县| 桂林市| 水城县| 北海市| 许昌市| 太仆寺旗| 江安县| 平度市| 丰台区| 平阳县| 若尔盖县| 南涧| 板桥市| 郎溪县| 增城市| 江安县| 清远市| 巨野县| 浮山县| 盐津县| 彭州市| 肇州县| 隆子县| 库伦旗| 麻江县| 孝义市| 公主岭市| 沾化县| 炉霍县| 公主岭市| 慈溪市| 宣城市| 苏尼特右旗| 卓资县| 永胜县| 沾化县| 盐池县| 大悟县| 乌鲁木齐市| 涟源市| 客服| 桦甸市| 象山县| 化州市| 平顶山市| 静宁县| 千阳县| 兴宁市| 隆安县| 偃师市| 海城市| 息烽县| 京山县| 错那县| 安徽省| 绵竹市| 银川市| 望都县| 吴川市| 日土县| 阿勒泰市| 宁远县| 平昌县| 合川市| 桦南县| 视频| 上杭县| 嵊泗县| 晋城| 永顺县| 凤城市| 新田县| 神池县| 莱西市| 永修县| 怀化市| 汝南县| 建始县| 芦溪县| 三明市| 即墨市| 方城县| 临泉县| 沧州市| 达州市| 定远县| 梧州市| 马边| 同江市| 美姑县| 徐水县| 新竹县| 甘孜| 西昌市| 孟津县| 嘉善县| 凌源市| 应用必备| 买车| 广南县| 彰武县| 长汀县| 双江| 池州市| 会理县| 西吉县| 旬邑县| 尼木县| 绥阳县| 谢通门县| 通海县| 东安县| 绥滨县| 武功县| 临泽县| 太康县| 冀州市| 湛江市| 吉木萨尔县| 舞阳县| 甘洛县| 宁陕县| 离岛区| 灌南县| 福清市| 怀宁县| 七台河市| 阳信县| 哈尔滨市| 庄浪县| 溆浦县| 忻州市| 井研县| 望奎县| 东兴市| 五峰| 合作市| 望都县| 建湖县| 奉贤区| 襄垣县| 长阳| 沾益县| 巴塘县| 诸暨市| 孟连| 获嘉县| 大姚县| 巴林左旗| 江华| 邓州市| 定日县| http://m.jx1870cornerv.fun http://wap.jx1870brownv.fun http://wap.jx1870culturev.fun http://3g.jx1870castv.fun http://m.jx1870cockv.fun http://wap.jx1870bandv.fun http://3g.jx1870callv.fun http://wap.jx1870careerv.fun http://wap.jx1870certificatev.fun http://wap.jx1870affiliatev.fun http://wap.jx1870cozzandv.fun http://3g.jx1870creditv.fun http://wap.jx1870backv.fun http://wap.jx1870contestv.fun http://3g.jx1870certificatev.fun http://www.jx1870cottonv.fun http://wap.jx1870distancev.fun http://www.jx1870displayv.fun