在当前页面的执行环境里执行脚本的方式:

  • 直接嵌入<script>代码块
  • 通过<script src=...>加载远程代码
  • 在各种HTML和CSS参数里通过javascript:URL触发调用
  • CSS expression(...)和某些浏览器里的XBL绑定
  • 事件处理器(Event Handlers),譬如onclick、onerror、onload等
  • 定时器Timers(setTimeout,setInterval)
  • eval(...)调用

表面上这些方法组合起来使用也很正常,但往往会造成极其难以预料的危险解析链传递。