API是什么?

Application Programming Interface:应用程序编程接口,是一些预先定义的函数,通俗的理解就是一些方法。

WebAPI是什么?

浏览器提供的一套操作浏览器功能和页面元素的API。

此处的Web API特指浏览器提供的一些方法。可分为两个部分:BOM(浏览器对象模型)、DOM(页面对象模型)

DOM

DOM的概念

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。

根据ID获取元素(返回拥有ID 的第一个对象的引用)

根据标签名获取元素(返回带有标签名的对象集合)

根据name获取元素(返回带有指定名称的对象集合)

根据类名获取元素(返回文档中所有指定类名的元素集合)

根据选择器获取元素(返回文档中匹配指定CSS选择器的第一个元素,如果要返回所有:querySelectorAll( )方法)

BOM

BOM的概念

BOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

BOM顶级对象之window

调用window下的属性和方法时,可以省略window

innerWidth 和 innerHeight 属性

innerheight 返回窗口的文档显示区的高度。

innerwidth 返回窗口的文档显示区的宽度

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

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

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

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

back( ) :

forward( ) :

go( ) :

Navigator 对象包含有关浏览器的信息。

serAgent属性  判断用户浏览器的类型

platform属性  判断浏览器所在的操作系统和平台类型

serAgent属性:

platform属性:

location对象(包含当前URL信息)

属性:

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

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

href  设置或返回完整的URL

pathname  设置或返回当前URL的路径部分

port   设置或返回当前URL的端口号

protocol   设置或返回当前URL的协议

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

三种对话框

  • alert()
  • confirm()
  • prompt()

  alert是警告框(模态框),只有一个按钮“确定”无返回值

  confirm是确认框(模态框),有确定和取消两个按钮,用户点击确认,返回值为 true。如果点击取消,则返回值为 false

    prompt是提示框(模态框),返回输入的消息,用户点击确认,返回值为输入的值。如果点击取消,则返回值为 null

页面加载事件

onload:

页面和图片加载完成后立即触发,重载页面也会触发

onunload:

页面下载时触发(或者浏览器窗口已关闭),重载页面也会触发

WebAPI之DOM和BOM的更多相关文章

  1. javascript、ECMAScript、DOM、BOM关系

    ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准. ECMAScript 规范定义了一种脚本语言实现应该包含的内容:但是,因 ...

  2. 理清javascript的相关概念 DOM和BOM

    javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异.JavaScript=语法+BOM(含DOM) ...

  3. JavaScript---网络编程(6)-Dom和Bom模型概念讲解(节点获取,window对象)

    本节讲Dom和Bom模型概念讲解(节点获取,window对象). out.js: 写了2个输出到页面的函数. function println(param){ document.write(param ...

  4. 第六十九天 dom与bom

    1.节点 dom与bom属 // DOM:文档对象模型 =>提高给用户操作document obj的标准接口 // DOM:以document为根,树状展开所有子节点 节点分类 // 节点分类: ...

  5. 【JavaScript】DOM和BOM之我的理解

    2018年12月17日 一.我们能够对html文档和浏览器做的操作 (一)html文档 增.删.改.可以在html中增加.删除.改动元素 (二)浏览器 地址栏:输入.修改地址 历史记录:前进.后退.跳 ...

  6. 前端基础之DOM和BOM

    前端基础之DOM和BOM JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏 ...

  7. Javascript的组成——EMACScript、DOM、BOM

    EMACScript:一种规范,JS必须准守它的约定,JS的核心. DOM:文档对象模型,W3C标准,JS访问HTML文档的接口. BOM:浏览器对象模型,没有统一的标准.JS访问浏览器的接口. EM ...

  8. ECMAscript,DOM,BOM哪个比较重要

    ECMA > DOM > BOM ECMA是JS的核心,语法.变量.对象.各种对象的API.作用域.原型链.闭包.This指向.构造函数等等必须要熟练,有了这些基础你才能去熟练的操作DOM ...

  9. day 52 js学习 DOM 和BOM

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

随机推荐

  1. JS写一个简单日历

    JS写一个日历,配合jQuery操作DOM <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...

  2. linux系统下常用的命令(吐血自己整理,且用且珍惜)

    1)linux命令太多,有时候记不起来是哪个,为了方便大家查询,自己吐血整理了以下这些,转载时请标明出处,珍惜原创成果 吐血自己整理,且用且珍惜) 吐血自己整理,且用且珍惜) 吐血自己整理,且用且珍惜 ...

  3. python实战:用70行代码写了一个山炮计算器!

    python实战训练:用70行代码写了个山炮计算器! 好了...好了...各位因为我是三年级而发牢骚的各位伙伴们,我第一次为大家插播了python的基础实战训练.这个,我是想给,那些python基础一 ...

  4. js 字符串截取函数substr,substring,slice之间的差异

    js 字符串的截取,主要有三个函数,一般使用三个函数:substr,substring,slice. 而这三个函数是不完全一样的,平时很难记住,在这里做下笔记,下次遇到的时候,直接从这里参考,调用合适 ...

  5. Ingress介绍与安装配置

    在 Kubernetes 集群中,Ingress是授权入站连接到达集群服务的规则集合,为您提供七层负载均衡能力.您可以给 Ingress 配置提供外部可访问的 URL.负载均衡.SSL.基于名称的虚拟 ...

  6. MySQL InnoDB 事务实现过程相关内容的概述

    MySQL事务的实现涉及到redo和undo以及purge,redo是保证事务的原子性和持久性:undo是保证事务的一致性(一致性读和多版本并发控制):purge清理undo表空间背景知识,对于Inn ...

  7. CPU TFLOPS 计算

    CPU TFLOPS 计算 姚伟峰 yaoweifeng0301@126.com] http://www.cnblogs.com/Matrix_Yao/ 深度学习任务是一个计算密集型任务,所以很关注计 ...

  8. 3G设置linux路由-iptables配置

    1.如何区分iptables的PREROUTING和POSTROUTING链 (引自http://jingyan.baidu.com/article/aa6a2c143d84470d4c19c4cf. ...

  9. day52类型转换 运算符 流程控制

    0.复习 1.导入 <div id="div1" onclick="this.style.color = 'red';">12345</div ...

  10. Zabbix 各种报错信息和遇到的问题处理(持续总结更新~~~~~)

    问题1:Zabbix poller processes more than 75% busy 解决: 1.修改配置文件: # vim /etc/zabbix/zabbix_server.conf St ...