创建: 2017/10/11

 
更新: 2017/10/14 标题加上【WIP】,增加【TODO】
更新: 2018/01/22 更改标题 [客户端JavaScript Web Object, URLEncode] -> [客户端JavaScript Web Object]
                         给window object部分增加了id
 
【TODO】
增加:  补充Window的操作,p362
 客户端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
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

【WIP】客户端JavaScript Web Object的更多相关文章

  1. JavaScript 客户端JavaScript之 Web浏览器的环境

    Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容)  Web浏览器中的Javascrip ...

  2. 【JavaScript权威指南(第五版)】笔记之第二部分 客户端JavaScript 第13章~第23章

    第十三章 Web浏览器中的javascript ①   eg:下面两行代码实际上执行的是相同的功能 var answer = 42; window.answer = 42;   ③每个window对象 ...

  3. JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)

    XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话.   大多数浏览的客户端JavaScri ...

  4. JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)

    具有交互性的JavaScript程序使用的是事件驱动的程序设计模型.   目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API ...

  5. JavaScript 客户端JavaScript之 脚本化浏览器窗口

    1.计时器 客户端Javascript以全局函数setTimeOut().clearTimeOut().setInterval().clearInterval()提供这一功能.   前者是从运行的那一 ...

  6. JavaScript 客户端JavaScript之 脚本化文档

    客户端JavaScript的存在把静态HTML转变为交互式的Web应用程序,脚本化Web页面的内容正是JavaScript存在的理由.   一个文档对象模型或者说DOM就是一个API,它定义了如何访问 ...

  7. 前端--关于客户端javascript

    浏览器中的Javascript 客户端javascript就是运行在浏览器中的javascript,现代的浏览器已经有了很好的发展,虽然它是一个应用程序,但完全可以把它看作是一个简易的操作系统,因为像 ...

  8. 【ASP.NET Web API教程】3.2 通过.NET客户端调用Web API(C#)

    原文:[ASP.NET Web API教程]3.2 通过.NET客户端调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的 ...

  9. windows phone 7 客户端和web的交互(WebBrowser的使用)

    原文:windows phone 7 客户端和web的交互(WebBrowser的使用) 前几天看到淘宝的Android客户端,有种促销的功能,当点击促销的时候连接的淘宝促销wap页面,然后点击商品后 ...

随机推荐

  1. Zabbix监控Mongo

    安装Zabbix-agent # groupadd zabbix # useradd -g zabbix zabbix # yum -y install gcc mysql-community-dev ...

  2. Visual Studio VS如何统计代码行数

    编辑-查找和替换-在文件中查找,然后查找内容填写下面的东西,勾选使用正则表达式,点击查找全部 b*[^:b#/]+.*$   在查找结果的最后一行显示了总的行数和文件数                 ...

  3. 【机器学习算法-python实现】协同过滤(cf)的三种方法实现

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景       协同过滤(collaborative filtering)是推荐系统经常使用的一种方法.c ...

  4. POJ3420 Quad Tiling DP + 矩阵高速幂

    题目大意是用1*2的骨牌堆积成4*N的矩形.一共同拥有多少种方法,N不超过10^9. 这题和以前在庞果网上做过的一道木块砌墙差点儿一样. 由于骨牌我们能够横着放.竖着放.我们如果以4为列,N为行这样去 ...

  5. python web框架企业实战具体解释(第六期)\第三课时-ajax&jquery&webpy

    main.py __author__ = 'Liao' import web import time urls = ( '/gettime','gettime', '/(.*)', 'hello' ) ...

  6. Intel MIC

    http://en.wikipedia.org/wiki/Intel_MIC Intel MIC From Wikipedia, the free encyclopedia     Intel Man ...

  7. POJ--2284--That Nice Euler Circuit【平面图欧拉公式】

    链接:id=2284">http://poj.org/problem?id=2284 题意:一个自己主动绘图的机器在纸上(无限大)绘图,笔尖从不离开纸,有n个指令,每一个指令是一个坐标 ...

  8. Linux和Windows设备驱动架构比较

    毕业后一直在学操作系统, 有时候觉得什么都懂了,有时候又觉得好像什么都不懂,但总体来说自认为对操作系统实现机制的了解比周围的人还是要多一些.去年曾花了几个星期的晚上时间断断续续翻译了这篇对Linux和 ...

  9. 如何删除ini文件中的内容

    1.删除子项值:::WritePrivateProfileString(分区名称, 子项名称, "", ini文件路径); 2.删除子项(名称和值):::WritePrivateP ...

  10. JDK提供的几种常用的锁

    可重入互斥锁: Lock lock = new ReentrantLock() lock.lock(); ... lock.unlock(); 信号量: Semaphore semaphore = n ...