浏览器模型之表单 FormData 对象

表单(<form>)用来收集用户提交的数据,发送到服务器。比如,用户提交用户名和密码,让服务器验证,就要通过表单。表单数据以键值对的形式向服务器发送,这个过程是浏览器自动完成的。但是有时候,我们希望通过脚本完成过程,构造和编辑表单键值对,然后通过 XMLHttpRequest.send() 方法发送。浏览器原生提供了 FormData 对象来完成这项工作。

8/3/2019 6:59:39 PM 转载 雨辰 137 0 0 JavaScript 浏览器模型
浏览器模型之 File 对象 FileList 对象 FileReader 对象

File 对象代表一个文件,用来读写文件信息。它继承了 Blob 对象,或者说是一种特殊的 Blob 对象,所有可以使用 Blob 对象的场合都可以使用它。FileList 对象是一个类似数组的对象,代表一组选中的文件,每个成员都是一个 File 实例。FileReader 对象用于读取 File 对象或 Blob 对象所包含的文件内容。

8/3/2019 6:56:46 PM 转载 雨辰 108 0 0 JavaScript 浏览器模型
浏览器模型之 ArrayBuffer 对象 Blob 对象

ArrayBuffer 对象表示一段二进制数据,用来模拟内存里面的数据。通过这个对象,JavaScript 可以读写二进制数据。这个对象可以看作内存数据的表达。Blob 对象表示一个二进制文件的数据内容,比如一个图片文件的内容就可以通过 Blob 对象读写。它通常用来读写文件,它的名字是 Binary Large Object (二进制大型对象)的缩写。它与 ArrayBuffer 的区别在于,它用于操作二进制文件,而 ArrayBuffer 用于操作内存。

8/3/2019 6:54:49 PM 转载 雨辰 101 0 0 JavaScript 浏览器模型
浏览器模型之 Location 对象 URL 对象 URLSearchParams 对象

URL 是互联网的基础设施之一。浏览器提供了一些原生对象,用来管理 URL。Location 对象,URL 对象,URLSearchParams 对象。

8/3/2019 6:33:22 PM 转载 雨辰 97 0 0 JavaScript 浏览器模型
浏览器模型之 History 对象

window.history 属性指向 History 对象,它表示当前窗口的浏览历史。History 对象保存了当前窗口访问过的所有页面网址。下面代码表示当前窗口一共访问过3个网址。

8/3/2019 6:30:39 PM 转载 雨辰 86 0 0 JavaScript 浏览器模型
浏览器模型之 Storage 接口

Storage 接口用于脚本在浏览器保存数据。两个对象部署了这个接口:window.sessionStorage 和 window.localStorage 。

8/3/2019 6:29:18 PM 转载 雨辰 96 0 0 JavaScript 浏览器模型
浏览器模型之 CORS 通信

CORS 是一个 W3C 标准,全称是“跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨域的服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX 只能同源使用的限制。

8/3/2019 6:27:56 PM 转载 雨辰 69 0 0 JavaScript 浏览器模型
浏览器模型之同源限制

浏览器安全的基石是“同源政策”(same-origin policy)。很多开发者都知道这一点,但了解得不全面。1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。最初,它的含义是指,A 网页设置的 Cookie,B 网页不能打开,除非这两个网页“同源”。所谓“同源”指的是“三个相同”。

8/3/2019 6:26:37 PM 转载 雨辰 46 0 0 JavaScript 浏览器模型
浏览器模型之 XMLHttpRequest 对象

XMLHttpRequest 对象是 AJAX 的主要接口,用于浏览器与服务器之间的通信。尽管名字里面有 XML 和 Http ,它实际上可以使用多种协议(比如 file 或 ftp),发送任何格式的数据(包括字符串和二进制)。

8/3/2019 6:23:41 PM 转载 雨辰 117 0 0 JavaScript 浏览器模型
浏览器模型之 Cookie

Cookie 是服务器保存在浏览器的一小段文本信息,每个 Cookie 的大小一般不能超过 4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。Cookie 主要用来分辨两个请求是否来自同一个浏览器,以及用来保存一些状态信息。它的常用场合有以下一些。

8/3/2019 6:21:14 PM 转载 雨辰 56 0 0 JavaScript 浏览器模型