创建: 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. flex中dispatchEvent的用法(自定义事件) .

    Evevt和EventDispatcher类在as3的事件机制中是很重要的角色,dispatchEvent()是EventDispatcher类的一个事件发送方法,它可以发送出Event类或其子类的实 ...

  2. 6.非关系型数据库(Nosql)之mongodb:集群(主从复制)

     1.主从复制是MongoDB最经常使用的复制方式.这样的方式很灵活,可用于备份.故障恢复.读扩展等 2最主要的设置方式就是建立一个主节点和一个或多个从节点,每一个从节点要知道主节点的地址. 执行 ...

  3. JSP简明教程:汇总

    原创JSP教程,简洁明了,不含废话. JSP简明教程(一):JSP简单介绍 JSP简明教程(二):JSP基本的语法 JSP简明教程(三):JSP隐含对象 JSP简明教程(四):EL表达式语言.Java ...

  4. 嵌入式学习笔记(综合提高篇 第二章) -- FreeRTOS的移植和应用

    1.1    资料准备和分析 上章节通过实现双机通讯,了解如何设计和实现自定义协议,不过对于嵌入式系统来说,当然不仅仅包含协议,还有其它很多需要深入学习了解的知识,下面将列出我在工作和学习上遇到的嵌入 ...

  5. 【转载】关于C#静态构造函数的几点说明

    一.定义 静态构造函数是C#的一个新特性,其实好像很少用到.不过当我们想初始化一些静态变量的时候就需要用到它了.这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次.也就是在 ...

  6. openwrt: patch-dtb

    dts的概念是linux kernel中的,跟openwrt的关系不大.只是恰好在学习openwrt的时候碰到了这个东西,所以记录在openwrt名下. patch-dtb openwrt对arch/ ...

  7. Mono 和 .NET Core比翼双飞

    大家好,今天给大家分享.NET 蓝图之下的Mono和.NET Core 话题,微软在Build 2019 大会上给.NET 做了一个五年规划,所以分享的主题就是<Mono和.NET Core 比 ...

  8. python day 13 生成器 以及 推导式

    1.生成器的本质是迭代器 2.生成器函数 def  fn() 函数体 yield fn() g = fn() 此时这个g就是生成器 所以g 是可迭代的 g._ _next_ _ 每执行一次_ _nex ...

  9. eclipse创建maven web app

    1 这个功能是由eclipse的插件maven archetype plugin支持的 2 创建过程 File->New->Maven Project 选择archetype为maven- ...

  10. [TJOI2017] 不勤劳的图书管理员

    题目描述 加里敦大学有个帝国图书馆,小豆是图书馆阅览室的一个书籍管理员.他的任务是把书排成有序的,所以无序的书让他产生厌烦,两本乱序的书会让小豆产生这两本书页数的和的厌烦度.现在有n本被打乱顺序的书, ...