创建: 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. keras常见问题解答

    https://keras.io/zh/getting-started/faq/ https://keras.io/zh/ https://github.com/keras-team/keras/tr ...

  2. BUPT复试专题—最近公共祖先(2014软院)

    题目描述 给出一棵有N个节点的有根树TREE(根的编号为1),对于每组查询,请输出树上节点u和v的最近公共祖先. 最近公共祖先:对于有向树TREE的两个结点u,v.最近公共祖先LCA(TREE u,v ...

  3. iOS类的合理设计,面向对象思想

    每天更新的东西可能有反复的内容.当时每一部分的知识点是不同的,须要大家认真阅读 这里介绍了iOS类的合理设计.面向对象思想 main.m #import <Foundation/Foundati ...

  4. 怎样改动X-code中的字体大小、颜色

  5. webpack2 详解

    1.安装 npm install webpack -g npm install webpack -save-dev 2.编辑配置文件 // 引入 path var path=require('path ...

  6. Loadrunner IP欺骗

    一.为什么要设置IP欺骗 1. 当某个IP的訪问过于频繁,或者訪问量过大时,server会拒绝訪问请求.这时候通过IP欺骗能够添加訪问频率和訪问量,以达到压力測试的效果. 2. 某些server配置了 ...

  7. 斯坦福《机器学习》Lesson6感想———1、函数间隔和几何间隔

    这一课主要是从怎样推断一个机器学习分类算法里拟合的參数是最佳參数引出函数间隔和几何间隔的定义. 1.函数间隔 如果假想函数 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...

  8. NPOI实现Excel导入

    导入功能实现: ]; GetExtensionsFromFileStream(file.InputStream); using NPOI.XSSF.UserModel; public List< ...

  9. LeetCode题解(20)--Valid Parentheses

    https://leetcode.com/problems/valid-parentheses/ 原题: Given a string containing just the characters ' ...

  10. Apach Web Server区别于其他应用服务器的主要特点是什么?

    Web服务器一般指的是处理静态请求或转发http请求的服务器,而应用服务器一般是用来处理动态请求的服务器.