摘要:
前端性能优化的方法有很多,本文主要介绍开发中比较常用的几种优化手段 文件合并 网页中的每一个外部文件的下载都会发送一个HTTP请求,常见的有css、js、img等。合并文件能有效的减少HTTP的请求,比较有效的做法是把公共库文件合并到一个文件,因为这些文件基本不会变动,把不同页面独有的文件单独合并, 阅读全文
摘要:
引入 正则表达式(Regular Expression)是一门简单语言的语法规范,是强大、便捷、高效的文本处理工具 JavaScript中的正则表达式用RegExp对象表示,由两种写法:字面量写法和构造函数写法 字面量写法 正则表达式字面量定义为包含在一对斜杠/之间的字符,并且可以设置3个标志 正则 阅读全文
摘要:
本篇文章主要介绍RegExp对象以及RegExp的实例的属性和方法,如果对于正则的基础语法还不是很清楚,可以参考下 "RegExp基础语法" 这篇文章 实例属性 RegExp实例都包含下面5个属性 如果设置了RegExp的全局模式'g',使用exec()或test()函数时,正则表达式的匹配就会从l 阅读全文
摘要:
FileAPI(文件API)为Web开发人员提供一种安全的方式,以便在客户端访问用户计算机中的文件,并更好地对这些文件执行操作 File API在表单中的文件输入字段的基础上,又添加了一些直接访问文件信息的接口。HTML5在DOM中为文件输入元素添加了一个files集合。在通过文件输入字段选择了一或 阅读全文
摘要:
Blob(binary large object)是计算机界通用术语之一,表示二进制大对象。在JavaScript中,Blob通常表示二进制数据,不过,它们不一定非得是大量数据,Blob也可以表示一个小型文本文件的内容。 构造函数 Blob()构造函数返回一个新的Blob对象,接收一个数组和配置项作 阅读全文
摘要:
引入 cookie是一种早期的客户端存储机制,用于存储少量的文本数据。cookie数据可以自动在浏览器和服务器之间传输,因此服务器端脚本可以读写存储在客户端的cookie。任何以cookie形式存储的数据,不论服务器端是否需要,每一次HTTP请求都会把这些数据传输到服务器端。 概述 在JavaScr 阅读全文
摘要:
JSONP是JSON with padding(填充式JSON或参数式JSON)的简写,常用于服务器与客户端跨域通信,由于其良好的兼容性,在Web服务中非常流行 基础 JSONP的基本思想是向网页中动态的添加一个``元素,并设置script元素的src属性为接口地址,利用script元素天生的跨域功 阅读全文
摘要:
引入 默认情况下,出于安全考虑,XHR对象只能访问与包含它的页面同一个域中的资源。但是,实现合理的跨域请求对开发某些浏览器应用程序也是至关重要的 CORS(Cross Origin Resource Sharing)跨源资源共享是W3C的一个工作草案,定义了在必须访问跨源资源时,浏览器与服务器应该如 阅读全文
摘要:
通常情况下,使用readystatechange事件监听HTTP请求的完成。XHR2规范草案定义了进度事件Progress Events事件,XHR对象在请求的不同阶段触发不同类型的事件,所以不再需要检测readyState属性,该规范定义了客户端与服务端通信的有关事件。这些事件最早其实只针对XHR 阅读全文
摘要:
开发中,经常会遇到文件上传、表单提交的情况,当HTML表单同时包含文件上传元素和其他元素时,Content Type的MIME类型必须是“multipart/form data”,并且用POST方法提交表单。XMLHttpRequest 2级定义了FormData类型,为序列化表单以及创建与表单格式 阅读全文
摘要:
比较常见的请求方式有GET和POST,下面对这两种方式做详细介绍 GET请求 GET请求常用于向服务器获取数据,发送请求时,参数被追加到URL的末尾。参数以问号开始,名和值之间用等号链接,名值对之间用和号(&)分隔。使用GET方式发送的数据常被称作查询字符串 编码 由于URL无法识别特殊字符,所以如 阅读全文
摘要:
通过AJAX接收到的响应主体类型可以是多种形式的,包括字符串String、ArrayBuffer对象、二进制Blob对象、JSON对象、JavaScirpt文件及表示XML文档的Document对象等。下面将针对不同的主体类型,进行相应的响应解码 属性 responseText responseTe 阅读全文
摘要:
AJAX是Asynchronous JavasSript And XML的简写,这项技术能够在不卸载页面的情况下发出HTTP请求,虽然名字中包含XML,但AJAX通信与数据格式无关 AJAX通信通常包含4个步骤: 1. 创建XMLHttpRequest对象 2. 发送HTTP请求 3. 接收服务器返 阅读全文
摘要:
能力检测又称特性检测,它与前文介绍的用户代理检测不同,能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。能用能力检测得到解决的问题,不要使用用户代理检测 引入 能力检测的基本形式如下 下面针对不同浏览器的能力检测进行简单说明 IE检测 要检测当前IE浏览器是哪个版本,最简单的方式是使用doc 阅读全文
摘要:
screen对象用来表示客户端的能力,包括浏览器窗口外部显示器的信息,开发中并不常用 属性 每个浏览器中的screen对象都包含着各不相同的属性 常用属性 availHeight、availWidth availHeight:屏幕的像素高度减去系统部件高度之后的值(只读),代表屏幕可用高度,单位为像 阅读全文
摘要:
navigator对象常用于识别客户端浏览器 属性 每个浏览器中的navigator对象都有一套自己的属性 navigator对象有很多属性,最常用的只有userAgent属性,常用于实现用户代理检测。 用户代理检测 不同平台下浏览器的userAgent检测结果 【IE3】 Mozilla/2.0 阅读全文
摘要:
history对象保存了用户从打开窗口那一刻的上网历史记录。出于安全限制,开发人员无法读取用户的历史记录,但是可以通过history提供的方法,在不知道实际URL的情况下实现后退和前进 属性 history.length表示历史记录的URL数量,初始值是1,如果已经访问了3个网址,history.l 阅读全文
摘要:
location对象提供当前窗口所加载文档的相关信息,它既是window对象的属性,也是document对象的属性,它也可以单独使用 属性 location将URL解析成独立的片段,让开发人员可以通过不同的属性访问这些片段 URL: |属性名|例子|说明| | | | | |hash| one|哈希 阅读全文
摘要:
定义 window对象下的对话框有alert()、confirm()、prompt()和print()。这些系统对话框与浏览器中显示的网页是没有关系的,它们不是HTML,也不能通过CSS改变它们的样式,它们的外观由操作系统及浏览器设置决定。通过这几个方法打开的对话框是同步和模态的,因此这些对话框在显 阅读全文
摘要:
窗口即window对象,大多数浏览器都可以打开多个标签页,每个标签页都有自己的window对象 以下只介绍所有浏览器都支持的window对象的属性和方法 属性 outerWidth、outerHeight outerWidth和outerHeight属性用于表示浏览器窗口本身的尺寸 说明:Mac电脑 阅读全文