首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么pre或代码块中的JS代码会执行?

问为什么pre或代码块中的JS代码会执行?
EN

Stack Overflow用户
提问于 2011-05-24 17:57:19
回答 2查看 4.2K关注 0票数 8

我一直在尝试在页面中显示一些JS代码。

代码语言:javascript
复制
<pre >
    <code>
        <script type="text/javascript"> 
            $(function(){
                alert("Hello");
            });
        </script>
    </code>
</pre>

但是,如果在页面中加载了jQuery,则I会收到一个警告,并且不会显示代码。如何在不执行JS的情况下显示此JS。我尝试了SyntaxHighLighter插件,它突出显示了代码,但我仍然收到警告。

向用户显示此JS代码而不执行他们的最佳方式是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-24 18:00:51

因为<pre>和<code>都不意味着“不要把它当作标记”。

<pre>的意思是“在这里呈现空格”

<code>的意思是“以这样一种方式呈现它(即使用适当的字体等),以告知读者它是一个代码样本”。

如果你想使用在超文本标记语言中有特殊含义的字符(如<),那么你仍然必须使用实体来表示它们。

适用于<

  • &gt;的
  • &lt;适用于>
  • &amp;的&

您不需要担心'或",因为您不在属性值中。

票数 20
EN

Stack Overflow用户

发布于 2011-05-24 18:01:43

使用<script>标记意味着这是要执行的javascript。

完全删除<script>标记:

代码语言:javascript
复制
<pre>
<code>
$(function(){
        alert("Hello");
    });
</code>
</pre>

或者,将<和>编码为&lt;和&gt;,以便<script>标签呈现为文本,而不是解释为脚本标签:

代码语言:javascript
复制
<pre>
<code>
&lt;script type="text/javascript"&gt;
$(function(){
        alert("Hello");
    });
&lt;/script&gt;
</code>
</pre>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6108693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档