Warum werden die JS-Codes im Pre- oder Code-Block ausgeführt?

7

Ich habe versucht, einige JS-Codes in einer Seite anzuzeigen. Ich habe versucht,

zu verwenden %Vor%

Aber wenn jQuery in die Seite geladen wird, bekomme ich einen Alarm und der Code wird nicht angezeigt. Wie kann ich dieses JS zeigen, ohne das JS auszuführen? Ich habe SyntaxHighLighter-Plugin ausprobiert und es markiert den Code, aber ich bekomme immer noch die Warnung.

Was ist der beste Weg, um diesen JS-Code Benutzern zu zeigen, ohne sie auszuführen?

    
Prasenjit Kumar Nag 24.05.2011, 09:57
quelle

2 Antworten

19

Weil weder <pre> noch <code> meinen "Behandle das nicht als Markup".

<pre> bedeutet "Render whitespace here"

<code> bedeutet "Präsentiere das (d. h. verwende eine geeignete Schriftart usw.) so, dass es den Leser darüber informiert, dass es sich um ein Codebeispiel handelt."

Wenn Sie Zeichen verwenden möchten, die in HTML eine besondere Bedeutung haben (z. B. < ), müssen Sie immer noch Entitäten verwenden, um sie darzustellen.

  • &lt; für <
  • &gt; für >
  • &amp; für &

Sie müssen sich nicht um ' oder " kümmern, da Sie sich nicht in einem Attributwert befinden.

    
Quentin 24.05.2011, 10:00
quelle
5

Wenn <script> -Tags verwendet werden, bedeutet dies, dass Javascript ausgeführt wird.

Entfernen Sie die <script> -Tags zusammen:

%Vor%

Alternativ können Sie die < und > in &lt; und &gt; codieren, damit die <script> -Tags als Text gerendert und nicht als Skript-Tags interpretiert werden:

%Vor%     
Oded 24.05.2011 10:01
quelle

Tags und Links