Как запустить processing.js, используя getQ-файл jQuery
Я сделал эскиз обработки, который хочу включить в свой блог.
Рекомендуемый способ вроде так работает нормально:
<script src="js/libs/processingjs.js"></script>
Я хочу загружать processingjs только в том случае, если на странице есть эскиз, я хотел добиться этого с помощью getScript jQuery. Однако, когда я запускаю этот код:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(function() {
$.getScript('js/libs/processingjs.js');
});
</script>
Эскиз обработки не будет обработан. Не должно быть необходимости в обратном вызове, поскольку обработка будет выполняться сама по себе. Мой веб-инспектор показывает, что файл был загружен, но я не вижу эскиз.
2 ответа
Предложение Flöcsy не работает для меня. Кажется, что всякий раз, когда я ajax сценарий, мне нужно указать сценарий для загрузки эскизов (а не сценарий просто ищет их). Это код, который я использую сейчас:
//processing
if($('.sketch').length) {
$.getScript("processingjs.js", function() {
$('.sketch').each(function() {
Processing.loadSketchFromSources(this, [$(this).data('processing-sources')]);
});
});
}
Возможно ли, что processing.js построен таким образом, что его нельзя загрузить после document.ready? (просто примером такой плохой практики было бы использование document.write), чтобы он работал, когда он включен в HTML, а не, если он загружается позже? Что произойдет, если вы добавите тег script самостоятельно:
var script = document.createElement("script");
script.src = "/js/libs/processingjs.js";
var head = document.getElementsByTagName("head")[0];
head.appendChild(script);