prettyPrint () не вызывается при загрузке страницы
я пытаюсь подтвердить мой код в Blogger. Я'Я связал файлы Google JS и CSS с моим шаблоном. Проблема в том, что я хочу, чтобы код был предварительно проверен при загрузке страницы, поэтому я добавляюprettyPrint();
на страницу загрузки события по шаблону.
Этот код неТ казнили. Однако, если я наберу в консоли prettyPrint () вручную, мои коды будут предварительно правильно подтверждены. Блокирует ли шаблон блогов вызов функций JS вручную?
РЕДАКТИРОВАТЬ Я заставляю его работать, вручную вызывая функцию в каждом посте, для которого мне требуется предварительное кодирование (см. Ниже). Тем не менее, я хочу знать, почему я могусделать это по шаблону.
<pre class="prettyprint linenums lang-js">function testCode(){
}
</pre>
// I have to do this in every post :-s
prettyPrint();
РЕДАКТИРОВАТЬ 2 ПРОЧТИ МЕНЯ сказал, что я не должент использоватьprettyPrint()
непосредственно как обработчик, но вместо этого оберните его в замыкание. Поэтому я добавил этот код, похожий на пример в README, в моем но безрезультатно.
window.addEventListener('load', function (event) { prettyPrint() }, false);
ИЛИ ЖЕ
document.addEventListener('DOMContentLoaded',function() {
prettyPrint();
});
РЕДАКТИРОВАТЬ 3 Мой шаблон HTML - это просто шаблон Dynamics View (Classic) по умолчанию с библиотекой prettify, добавленной, как описано выше.
РЕДАКТИРОВАТЬ 4 Вот ссылка для демонстрации проблемы:http://testprettyprint.blogspot.com/2013/02/blog-post.html - блок кода автоматически не проверяется автоматически, но если вы открываете Chrome 's консоли и введите prettyPrint (), коды будут выделены правильно.
РЕДАКТИРОВАТЬ 5 Причина, почему я так думаюмоя проблема не в блоггереs потому что у этого парня все еще есть свой код, предварительно подтвержденный тем же методом:http://errorbuster.blogspot.com/2012/07/prettify-syntax-highlighter-for-blogger.html
РЕДАКТИРОВАТЬ 6 Как указал Джеффри То в своем ответе, представление Dynamics загружает содержимое блога с помощью AJAX, поэтому любой вызов JS при загрузке документа будет выполняться ДО загрузки фактического содержимого. Поэтому любой JavaScript, выполняемый с фактическим содержимым блога, а не с документом, является недействительным. Итак, я думаю, что вопрос сейчас заключается в том, как подключиться к Dynamics Viewajax:complete
событие, если есть такая вещь, но я сомневаюсь, что есть. Спасибо всем, кто ответил. Я'Я не уверен, что это можно считать ошибкой, но яЯ подам проблему с блогером.
ЗАКЛЮЧЕНИЕ Пожалуйста, прочитайте Джеффри Тоответ. Он нашел событие для вызова функции.