
# 前言
笔者刚接触EAS WEB开发,对于WAF2框架的使用还处于懵懵懂懂的状态,在使用和调试上遇到很多问题。今天就挑其中一个主题来给大伙分享一下, 希望能对刚接触waf2开发的小伙伴一点帮助。
## 1.调试准备知识
首先为大家分享一些浏览器的调试知识,在稍后的WAF2代码调试对大家会有帮助。
做过web端开发的程序员都知道,在浏览器按下快捷键会弹出 浏览器的调试窗口,如下图所示。

在网页上,点击一个按钮会触发若干事件,事件经过对应的事件处理函数的处理,会执行相应的逻辑。比如,点击一个按钮,弹出一个窗口。那我们怎么知道点击按钮后,事件在哪里被处理了呢?
如果你使用的是Chrome浏览器,可以点击元素审查按钮,然后再网页上选中你要审查的元素,如一个按钮,在右侧的Event Listeners 中,我们可以查看到该元素绑定的不同类型的事件。
比如我们想审查点击事件,就点击click展开点击事件下绑定的处理函数,在处理函数旁我们甚至可以点击直接跳转到对应的处理代码的位置。

笔者在使用多款浏览器后,觉得审查元素绑定事件最方便的浏览器应属火狐浏览器。因为我们只要使用元素选择器选中对应审查的元素,便可直接在html中直观地观察到该元素目前绑定的事件处理函数,并可以一键跳转至源码的位置。

接下来是关于浏览器断点调试的技巧,在下一章中我们会用到该技巧追踪事件处理函数的具体位置。
假设我们在某js代码的某行处打断点,该行读出了一个变量,变量的类型是一个事件处理方法,那么我们在调试进入断点的时候,将鼠标悬浮在改变量上,浏览器会弹出一悬浮窗口,并暗示我们点击箭头会跳转到该处理函数定义的位置,如下图所示。

## 2. WAF2知识
当你读到第二章,我默认你已经掌握了第一章提及的网页调试技巧,接下来我们结合waf2框架来回答开篇提出的