Markieren Sie die Syntax in Vor-Tags mit highlight.js

8

Es gibt einen leichten, leistungsstarken JavaScript-Code für die Syntax, der hier hervorgehoben wird:

Ссылка

aber dieser Code funktioniert nur mit <pre><code></code></pre> blocks, was mein Problem ist, verwende ich nur <pre></pre> , weil Chrome und Safari keine Zeilenumbrüche für <pre><code></code></pre> enthalten, wenn Sie kopieren und hinter den Code, sondern für <pre></pre> es ist Arbeit.

Es gibt auch ein Benutzerhandbuch, aber ehrlich gesagt kann ich nicht verstehen, was ich tun muss, um nur Vor-Tags hervorzuheben. Benutzerhandbuch ist hier:

Ссылка

    
Vahid 07.06.2012, 17:32
quelle

4 Antworten

11

Die aktuelle Version von chrome hat keine Probleme mit Zeilenumbrüchen in <code> -Tags.
Z.B. probiere dieses Beispiel in Chrome aus.

Hier eine Version ohne jQuery .

=== UPDATE ===

Hier ein Beispiel ohne das <code> -Tag.

%Vor%     
scessor 07.06.2012, 18:04
quelle
8

Ich denke, Sie müssen nur Ihre Initialisierung zu:

ändern %Vor%

und nicht "pre code" für den jQuery-Selektor verwenden. Nicht sicher, ob das Plugin genau so verwendet wird, aber ich denke, das müssen Sie ändern ...

BEARBEITEN:

Wenn Sie jQuery nicht verwenden, möchten Sie vielleicht Folgendes ausprobieren:

%Vor%

Es muss in window.onload oder ähnlich sein, um sicherzustellen, dass das DOM für die Manipulation bereit ist.

    
Ian 07.06.2012 17:39
quelle
1

Ein besonderer, damit zusammenhängender Umstand, der für einen Kommentar zu lang ist:

Der Aufruf des DOM-Abschlussereignisses reicht auf den neuen blogger.com / blogspot Dynamic View-Vorlagen und wahrscheinlich anderen ähnlichen Websites nicht aus, da in diesem Fall das DOM tatsächlich geladen ist, aber nur besteht ein injection-ready div-Element und der DOM-Inhalt wird über eine JavaScript-Methode injiziert, die selbst in einem set-timeout aufgerufen wird:

%Vor%

Damit die Syntaxhighlighting funktioniert, muss der komplexe DOM-Baum fertig sein. Eine Lösung besteht darin, hljs.initHighlightingOnLoad(); oder die benutzerdefinierte Funktion highlightBlock nach einer großzügigen Zeitüberschreitung auszulösen.

%Vor%     
Lorenz Lo Sauer 03.11.2013 21:13
quelle
0

select Eine vorinstallierte Version von highlight.js mit 22 häufig verwendeten Sprachen wird von folgenden CDNs gehostet:

%Vor%

Das absolute Minimum für die Verwendung von highlight.js auf einer Webseite besteht in der Verknüpfung mit einem der Stile und dem Aufruf von initHighlightingOnLoad:

%Vor%

Dadurch wird der Code innerhalb von & lt; pre & gt; & lt; code & gt; Stichworte; Es versucht, die Sprache automatisch zu erkennen. Wenn die automatische Erkennung für Sie nicht funktioniert, können Sie die Sprache im Klassenattribut

angeben %Vor%

für weitere Informationen verweisen Sie auf diese zwei Links.
Ссылка
Ссылка

    
Kishan Donga 25.01.2017 04:56
quelle

Tags und Links