Używam wtyczki prettyprint jako zakreślacza składni, działa dobrze, gdy strona ładuje się, ale kiedy dynamicznie dodaje nowe elementy, to nie działa! Próbowałem użyć prettyPrint()
, aby wywołać go po załadowaniu nowej zawartości, ale nie zadziałało! Postępowałem również zgodnie z instrukcjami na stronie wtyczki przez zawijanie prettyPrint()
z funkcją, ale to też nie działa! jakakolwiek pomoc byłaby mile widziana. Po zainstalowaniu wtyczki tak:Jak uzyskać prettyprint do pracy z dynamicznie generowanym elementem domowym
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>
mojego kodu jest:
function showCode(e){
(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
var parent = document.createElement('div'),
pre = document.createElement('pre'),
code = document.createElement('code'),
elm = (e.currentTarget) ? e.currentTarget : e.srcElement,
src = elm.getAttribute('href'),
id = elm.getElementsByTagName('img')[0].getAttribute('src').replace(/images\/(.+?)\.png/g, "$1");
parent.id = "codeZoom";
pre.className = "prettyprint linenums lang-" + id;
var xhr = (window.XMLHttpRequest) ? new window.XMLHttpRequest() : new activeXObject("Microsoft.XMLHTTP");
xhr.open('get', src, true);
xhr.send();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
var text = document.createTextNode(xhr.responseText);
code.appendChild(text);
pre.appendChild(code);
parent.appendChild(pre);
document.getElementsByTagName('body')[0].appendChild(parent);
center(parent);
prettyPrint();
}
}
}
obecnie Dostaję komunikat o błędzie prettyprint nie jest zdefiniowana.
Musisz pokazać jakiś kontekst. Jeśli napis "prettyPrint" nie jest zdefiniowany, to dlatego, że nie jest zdefiniowany! Niemożliwe poznanie twojego obecnego kodu – Alexander
Dodałem link do strony wtyczki, ma to stworzyć funkcję 'prettyPrint' kiedy strona ładuje się, co myślę, że robi, ponieważ działa na innych elementach' pre' kiedy strona się zaczyna! –
, ale tutaj: http://google-code-prettify.googlecode.com/svn/trunk/README.html, które mogę (przewiń do końca strony), nie? –