JavaScript代码美化器如何访问<;预处理>;在解析之前?

JavaScript代码美化器如何访问<;预处理>;在解析之前?,javascript,html,Javascript,Html,似乎有了JS API,比如谷歌的prettify或code beautifier,就可以在HTML页面中直接编写这样的代码: <pre class="prettify"> // this is an example #include <iostream> int main() { std::cerr << "test\n"; } </pre> 然而,代码美化程序(如or)的文档似乎表明,他们的JS

似乎有了JS API,比如谷歌的prettify或code beautifier,就可以在HTML页面中直接编写这样的代码:

<pre class="prettify">
    // this is an example
    #include <iostream>
    int main() {
        std::cerr << "test\n";
    }
</pre>
然而,代码美化程序(如or)的文档似乎表明,他们的JS脚本实际上可以解析标记的内容(或
code
),并动态修改它,这意味着类似
的内容不会首先被解析器处理并转换为标记(作为标记的内容/内部HTML的一部分未被触及)。据我所知,JS中不可能在加载页面之前获取文档内容并对其进行更改(尤其是在DOM文档尚未形成的情况下)?这对我来说是个谜

我不知道这怎么可能?有人有线索可以解释吗


谢谢。

这是不可能的。这些工具在HTML解析器处理元素后读取元素的DOM

你可以想象它不起作用


您仍然需要用正确的HTML来表达源代码,以便正确显示。

是有意义的。谢谢。我看到了一个示例,其中代码只是从代码编辑器中复制/粘贴的,并且
没有更改,但可能这只是一个误导,并且是一个有人没有测试过的示例。谢谢(遗憾的是,我不能再讨论这个例子了)。
<pre class="...">
    <iostream>
    ...
    </iostream>
</pre>