区块链如何隐藏其 HTML 来源?

How is blockchain hiding its HTML source?

当您导航到:blockchain.info

您会注意到,如果您在页面上单击 view-source,它会显示 HTML 与您 inspect-element 时不同的上下文。我的问题是,他们是怎么做到的?

我知道他们正在使用 AngularJS 框架中的 .pug 模板。但是,如果它们不是从客户端(浏览器)端加载的,我的浏览器如何知道从哪里读取它们?

此外,如果我要在页面上插入 jQuery,jQuery 会知道事件何时触发吗 on('click', 'submit', 'whatever') etc ...

任何正在呈现 HTML client-side(React、Angular、Vue)的框架都会这样做。实际的源代码可能只是一些基本的 html 样板文件和一个 div,然后通过 Javascript 之类的东西加载应用程序。因此,当您查看页面的源代码时,您会看到这个基本模板。但是在检查元素时,Chrome 开发工具(和其他工具)正在检查客户端呈现的元素。您的浏览器已将这些元素放在 DOM 上,它们在代码执行之前不存在于源代码中。希望这有助于解决问题。

当您单击 View Source 时,您会看到服务器发回的内容。许多页面不会发回完整的 HTML 页面,而是发回一些骨架 HTML 并通过 JavaScript

添加其余功能

当您 Inspect Element 时,您正在查看 DOM 的浏览器表示,其中包括通过 JavaScript 完成的任何操作。有关直观解释,请参阅 css-tricks 上的这篇文章:https://css-tricks.com/dom/