2013-04-13 7 views
9

Ist es für eine Schaltfläche möglich, eine Funktion aufzurufen, die eine dynamische <code><pre> "verschönern" würde? Ich kann es nicht zur Arbeit bringen.Dynamische Google-Code-Prettify funktioniert nicht

Nach dem Laden der Seite ist die ursprüngliche <code> (?), Aber wenn ich es ändern und prettyPrint() danach aufrufen, funktioniert es nicht mehr.

Beispiel: http://jsfiddle.net/uwBjD/2/

Edit: Sorry, ich war eine lokale prettify.js verwenden. Es aktualisiert, noch immer der gleiche Fehler aufgetreten.

+0

Haben Sie an der Konsole aus? Es sagt ziemlich explizit, 'prettyPrint ist nicht definiert 'für mich. Dies kann mit der Tatsache zusammenhängen, dass eines Ihrer Skripte, [prettify.js] (http://apps-02.rwmanila.com/Scripts/prettify.js), 404 ist. – Xymostech

Antwort

18

Scheinbar nachdem der Code verschönert wurde, wird eine zusätzliche Klasse hinzugefügt, die prettyprinted ist. Alles mit der Klasse prettyprinted ist nicht neu beschönigt. Sie müssen diese Klasse entfernen, bevor die Funktion unter Hinweis:

$('input[type=button]').click(function() { 
    $("#jsExample").text(" var user = 'private'; //Do NOT store your API Key on a script.") 
     .parent().removeClass("prettyprinted"); 

    prettyPrint(); 
}); 

http://jsfiddle.net/uwBjD/3/

+2

https://code.google.com/p/google-code-prettify/source/browse/trunk/js-modules/prettify.js#905 –

+3

Ausgezeichnet! Ich habe eine Stunde lang dagegen gekämpft;) – MrUpsidown

+0

@James, Google hat einen tardierten Umgang mit Dingen. – Pacerier

Verwandte Themen