阅读大块头《javascript权威指南》笔记13-web浏览器中的javascript

  • window对象是所有客户端javascript的特性和API的主要接入点,表示浏览器的窗口或窗体。

  • window对象中其中一个最重要的属性是document,它引用document对象,表示在窗口中的文档。

  • window、document、element对象上另一个重要的属性集合是事件处理程序相关的属性。可以在脚本中绑定一个函数,这个函数会在某个事件发生时以异步的方式调用,事件的属性名以单词on开头。

  • type="text/vbscript" 表示脚本用MIME类型,这里表示的用非标准的vbscript,这也意味着可以使用script元素来嵌入任意的数据,只要这type属性声明为一个不可执行的类型,想要获取数据时可以获取此元素的text属性。。

  • 可以在 URL后面跟一个 javascript:协议限定符是另一种嵌入代码到客户端的方式。

  • script 元素中有 deferasync属性,可以改变脚本的执行方式(在支持的浏览器中),是布尔值属性,没有值。

  • 大部分浏览器事件中,会把一个对象传递给事件处理程序作为参数,这个对象包含了事件的详细信息,例如传递给单机事件的对象,会有一个属性说明鼠标的哪个按钮被点击了。

  • 有些事件的目标是文档元素,它们会经常往上传递给文档树,这个过程叫做冒泡.

  • 客户端 javascript 的时间线是(简化):

    1. 浏览器创建document对象,并开始解析html元素和它们的文本内容后面添加element对象和text节点到文档中,这个时候document.readystate的值为loading.

    2. 在html解释器遇到没有asyncdefer属性的script元素时,它把这些元素添加到文档中,然后执行脚本,并且在执行时解释器会暂定,这样脚本就可以用document.write()把文本插入到输入流中。

    3. 当文档解析完毕,document.readyState变为interactive

    4. 这个时候文档已经解析完毕,但是浏览器可能还在等待其他内容载入,例如图片,所有完成后,document.readyState变为complete,浏览器接着触发window上的load事件。

    5. 此刻起,会调用异步事件,以响应用户的输入输入事件,网络事件,计时器过期等.

  • XSS攻击指的是攻击者向目标站点注入html标签,或者脚本。