如何理解和查看HTML嵌入式JavaScript的解析?

时间:2018-11-15 17:33:35

标签: javascript parsing

我想了解有关XSS的更多信息,但是我似乎找不到关于如何解析HTML嵌入式JavaScript(如下面的代码段)的良好资源。

我如何在浏览器中查看如何解析此代码?即进行了几轮解析,每一轮如何转换输入(例如解码)等。

<!DOCTYPE html>
<html>
  <body>
    <button type="button" onclick="setTimeout(() => alert(1), 1000)">Click this!</button>
  </body>
</html>

在执行HTML解析之后,该解析会解码HTML编码的实体,该程序是什么样的? HTML解析还会与onclick属性混淆吗?

1 个答案:

答案 0 :(得分:0)

您的问题相当广泛,但似乎通常与浏览器如何呈现网页有关。

您的浏览器请求该Web文档并开始对其进行解释,逐行阅读并构建文档对象模型(DOM)面向对象表示形式; JavaScript逻辑和html文档之间的 DOM 接口可动态构建应用程序。

当浏览器到达您的按钮时,它将呈现具有书面属性的元素;解析onclick属性后,它会将click事件的事件侦听器设置为 DOM ,并且当检测到事件时,事件侦听器将使用设置的参数异步调用定义的函数。

如果您需要澄清某些特定问题或未解决,请更新您的问题。