8

私がやろうとしているのは、JavaScript のスニペットをページに表示することです。それを実行するのではなく、人々がコピーできるようにコード スニペットとして表示するだけです。Google の Prettify をロードすると、ページに次のコードが表示されます。

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

ただし、このコードは実行されるだけで、JS スニペットは表示されません。ここで何が欠けていますか?

4

5 に答える 5

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>

<code>既存のタグに加えて、タグでコードをラップすることもお勧めし<pre>ます。

于 2013-07-19T18:42:22.453 に答える
5

あなたが抱えている問題は、HTML を入力していて、HTML として扱われたくないということです。具体的にはオープニング<script>要素。

HTML として解析されない HTML を入力するには、HTML 固有の文字をエンコードする必要があります。たとえば、 は<としてエンコードされ&lt;>は としてエンコードされ&gt;、は として&エンコードされ&amp;ます。

したがって、HTMLとして解析せずに次を出力するには:

<script>...</script>

...入力する必要があります:

&lt;script&gt;...&lt;/script&gt;
于 2013-07-19T18:42:34.017 に答える
2

<script>タグのおかげで動いています。それらをエンコードする必要があります:

<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>
于 2013-07-19T18:42:23.357 に答える
0

&lt;script&gt;およびタグ&lt;/script&gt;に使用<script>

于 2013-07-19T18:42:33.423 に答える