客户端JavaScript概要 |
植入JavaScript的方法 |
《script》中 |
《script》 ... 《/script》 |
《script》连接外部 |
《script src="..."》《/script》 |
事件句柄里(字符串) 基本不用 |
《... onclick="..." ...》 |
JavaScript: URL 基本不用 |
《a href="..."》...《/a》 href内部制定JavaScript 例: |
|
浏览器上的JavaScript处理流程 |
|
生成Window Object 注: 这是网页的全局变量,一个tab一个 |
|
生成Window Object的属性Document Object 开始解析网页,构筑DOM Document Object的属性readyState 赋值 "loading" 注: DOM: 文档对象模型(Document Object Model) |
|
解析网页时候遇到《script》,则同期解析script 解析script是html的解析暂停 |
|
解析完成,构筑好DOM Document Object的属性readyState 赋值 "interactive"
|
|
浏览器对Document Object发生DOMContentLoaded事件 开始读取img等外部资源 |
|
读取完成后 Document Object的属性readyState 赋值 "complete" 浏览器对Window Object发生load事件 |
|
自定义的事件等登录到WindowWObject的load事件上 Window.onload 注: load发生在全部文件读取完成后(包括图象等资源), 会让用户等待 因此能够增长事件监听器,把初期登录加在DOMContentLoaded 上 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async defer |
async |
非同期读取script html的读取不会暂停 |
defer |
html读取完(DOM构筑完成后)读取 能够代替DOMContentLoaded来进行事件登录 |
|
|
|
|
|
|
|
Window Object |
概要 |
全局Object 全部Object都是Window Object的属性 访问时能够省略window. |
主要属性 |
screen |
|
document |
|
location |
|
navigator |
|
history |
|
event |
|
console |
|
window |
Window本身 |
self |
和window同样 |
parent |
window是表格内的window时返回上一层window 不然返回本身 |
top |
window是表格内的window时返回最上层window 不然返回本身 |
opener |
返回打开如今窗口的窗口 |
frames[] |
包含window内各表格的参照 |
closed |
如今的窗口是否关闭 true/false |
name |
取得/设置如今窗口的名字 |
status |
取得/设置状态栏的text |
screenX screenY |
浏览器在屏幕的位置 IE不支持 |
screenLeft screenTop |
和上一个相同 Firefox不支持 |
innerHeight innerWidth |
window高与框(不包含scroll bar) |
outerHeight outerWidth |
window高与框(包含scroll bar) |
scrollX scrollY |
水平/垂直方向滚动的像素(pixel) |
pageXOffset pageYOffset |
和上一个相同 |
|
|
|
|
|
|
|
主要方法 |
|
|
prompt("...", default) |
|
confirm("...") |
|
setTimeout(callback, interval) |
|
setInterval(callback, delay) |
|
clearTimeout(timeoutID) |
|
clearInterval(intervalID) |
|
blur() |
从当前窗口移除聚焦 |
focus() |
给指定窗口聚焦 |
close() |
关闭窗口 |
open() |
打开新窗口 |
moveBy(x, y) |
相对移动 |
moveTo(x, y) |
绝对移动 |
resizeBy(width, height) |
窗口大小按指定尺寸放大 |
resizeTo(width, height) |
窗口大小变为指定尺寸 |
scrollBy(x, y) |
滚动指定距离 |
scrollTo(x, y) |
滚动到指定位置 |
print() |
打开确认打印的对话框 |
|
|
|
|
|
|
|
|
|
Location Object |
|
管理地址栏 |
呼出方法 |
location window.location document.location |
属性 |
hash |
标签 例: #anchor |
host |
主机名: 接口号 例: www.example.com:80 |
hostname |
主机名 例: www.example.com |
href |
完整的URL 例: http://www.example.com:80/test/index.html?q=value#anchor 注: location.assign(...) location.href = ...二者做用相同 |
pathname |
相对于主页的相对路径 例: /test |
port |
接口号 例: 80 |
protocol |
协议 例: http: |
search |
请求的字符串 例: ?q=value |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
方法 |
assign(url) 字符串 |
读取指定的url 记录在浏览历史 注: location.assign(...) location.href = ...二者做用相同 |
reload() |
从新读取 |
replace(url) |
跳向网页 不记录在浏览历史里 |
toString() |
返回location.href |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
URL encode |
概要 |
字符串的16进制字符编码以比特为单位用%分隔表示 字母, 数字, -_!~*.()'不会被转换 |
编码方法 |
|
encodeURIComponent |
|
encodeURI 不编码字母, 数字, -_!~*.()'不会被转换 和(;,.?:@&=+$),(#) |
|
解码方法 |
|
decodeURIComponent |
|
decodeURI |
|
|
|
|
|
|
|
|
|
|
|
History Object |
|
管理窗口的浏览历史 |
呼出方法 |
history window.history |
属性 |
length |
只可读 如今session的履历数 |
scrollRestoration |
操做浏览浏览历史后滚动位置是否自动复原 "auto"/"manual" |
state |
只可读 在pushState, replaceState设定的state的值 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
方法 |
back() |
返回一个 |
forward() |
前进一个 |
go(number) |
指定移动数 正: 前进 负: 返回 |
pushState(state, title, url) |
不跳转而且追加窗口浏览历史
state |
经过popstate时间的state属性参照 |
title |
新履历的标题 |
url |
可省略,省略则为当前url |
|
|
|
|
|
replaceState(state, title, url) |
跳转而且追加窗口浏览历史 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Navigator Object |
概要 |
Navigator 对象包含有关浏览器的信息 |
呼出 |
navigator window.navigator |
属性 只可读 |
只可读
appCodeName |
浏览器的代码名字 不必定正确 |
appName |
浏览器的名字 不必定正确 |
appVersion |
浏览器的版本 不必定正确 |
geolocation |
表示浏览器物理位置的Geolocation Object |
language |
浏览器对应的MIME类型的 MimeTypeArray |
mimeTypes[] |
|
onLine |
是否链接网络 |
platform |
系统名 Windows --- "win32" Mac --- "MacIntel" |
plugins |
浏览器安装的常见一览 Plugin Object的数组 |
userAgent |
USER-AGENT header部分传送的字符串 |
|
方法 |
|
是否可使用Java |
getUserMedia() |
获取设备的麦克风, 摄像头的流 audio, video |
registerContentHandler(mimeType, uri, title) |
把网页和特定mime类型关联 |
registerProtocolHandler(protocol, uri, title) |
把网页和特定协议关联 |
vibrate() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Screen Object |
概要 |
包含显示屏大小以及色数等信息 |
呼出 |
screen window.screen |
属性 只可读 |
只可读
availTop |
可使用的最小的y坐标 可用指除了任务栏之外的部分 |
availLeft |
可使用的最小的x坐标 |
availHeight |
可使用的高度 |
availWidth |
可使用的宽度 |
colorDepth |
豁免的色深度(位数): 约1678万色的话24 |
height |
画面高度 |
width |
画面宽度 |
orientation |
画面方向 |
|
|
|
|
|
|
|
|
|
|
|
Document Object |
概要 |
表示页面内容 接入DOM |
呼出 |
document window.document |
DOM关联 |
http://blog.sina.com.cn/s/blog_dcb875d90102yc1u.html |
主要属性 |
characterSet |
只可读 使用的字符编码 |
cookie |
获取cookies 以;分隔的列表(list?) |
domain |
只可读 主页 |
lastModified |
只可读 最终更新日 |
location |
document.location window.location location 三个同样 |
readyState |
只可读 文件读取情况 |
referrer |
只可读 连接向当前页面的url |
title |
页面的标题 |
URL |
只可读 页面的URL |
|
|
|
主要方法 |
close() |
关闭document.open()打开的页面 终止写入 |
open() |
为了写入打开页面 |
write(text) 不用 |
写入到document.open()打开的文件 |
writeIn(text) |
写入到document.open()打开的文件 并换行 |
|
|
|
|
|
|
|
|
|
Window的操做 |
|
暂略,p362 |