将javascript显示为代码段

Web*_*don 8 html javascript css prettify

我正在尝试做的是在页面上显示一段javascript,而不是让它运行,只显示为人们要复制的代码片段.我加载谷歌的Prettify,然后在页面中我有这个代码:

    <pre class="prettyprint">
    <script>
    $(document).ready(function(){
      setTimeout(function(){
        console.log('deleting cookie');
        $.cookie('cookie',null,{domain: document.domain});
     },1000);
    });
    </script>
   </pre>
Run Code Online (Sandbox Code Playgroud)

但是这段代码只是执行而不显示JS片段.我在这里错过了什么?

Tra*_*vis 14

您需要将您的<>字符转换为HTML实体,如下所示:

<pre class="prettyprint">
  &lt;script&gt;
    $(document).ready(function(){
      setTimeout(function(){
        console.log('deleting cookie');
        $.cookie('cookie',null,{domain: document.domain});
      },1000);
    });
  &lt;/script&gt;
</pre>
Run Code Online (Sandbox Code Playgroud)

<code>除了现有<pre>标签之外,我还建议将代码包装在标签中.


Jim*_*Jim 5

您遇到的问题是您正在输入 HTML 并且您希望它不被视为 HTML。具体来说,开口<script>元件。

为了输入不会被解析为 HTML 的 HTML,您需要对 HTML 特有的字符进行编码。例如,<被编码为&lt;>被编码为&gt;&被编码为&amp;

因此,要输出以下内容而不将其解析为 HTML:

<script>...</script>
Run Code Online (Sandbox Code Playgroud)

...您需要输入:

&lt;script&gt;...&lt;/script&gt;
Run Code Online (Sandbox Code Playgroud)