2013-03-07 3 views
1

Я загружаю только сценарий, если существует <pre class="prettyprint">. Я обнаружил, что для инициирования Prettify вам необходимо использовать prettyPrint();.Как проверить, загружена ли Prettify

Однако на страницах, которые не загружают сценарий, появляется ошибка Javascript. Есть ли способ проверить, загружена ли Prettify, а затем запустить ... иначе ничего не делать?

+0

Обновление: версия, как-сегодня (см дата комментарий) нуждается в этом: 'PR.prettyPrint()' повторно запустить. –

ответ

0

Вы можете проверить это следующим образом:

if (window.prettyPrint) { 
    prettyPrint(); 
} 
+0

Спасибо. Короче, чем 'if (typeof prettyPrint == 'function')' решение, которое я использовал. – gavsiu

+0

@ gavsiu ну, ваш лучше. –

0

Это должно работать

function getElementsByClassName(className) { 
if (document.getElementsByClassName) { 
    return document.getElementsByClassName(className); } 
else { return document.querySelectorAll('.' + className); } } 

window.onload = function() { 
    if (getElementsByClassName('prettyprint').length) { 
     /* element exists */ 
    } else { /* element not exists */ } 
} 

[EDIT] Опа, вы просили функции существования, мой плохой :)

0

You не нужно звонить prettyPrint.

https://code.google.com/p/google-code-prettify/wiki/GettingStarted говорит

Авто-погрузчик

Вы можете загрузить JavaScript и CSS для приукрасить с помощью одного URL

<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script> 

загрузит всю систему и планировать prettifier работать на загрузка страницы. Существует множество дополнительных опций, которые вы можете указать (как аргументы CGI) для настройки бегуна.

...

+2

Когда я загружаю собственную версию run_prettify.js, она вызывает файл css из Google Code, а не с моего собственного сервера. Я не хочу полагаться на альтернативный сервер, если не могу заставить его работать с резервным доступом к локальному. – gavsiu

Смежные вопросы