загрузить processing.js эскиз с помощью ajax по щелчку пользователя

#javascript #jquery #ajax #canvas #processing.js

#javascript #jquery #ajax #холст #processing.js

Вопрос:

Я пытаюсь загрузить processing.js эскиз с помощью ajax по щелчку, и он не работает. Это работает, если я загружаю эскиз мгновенно, но не при взаимодействии с пользователем. Вот мой код:

 $('#clicker').click(function(){
    var canvasRef = $('<canvas/>');
    canvasRef.attr('data-src','/uploads/processing_js/anything_1.pde');
    $('#loader').append(canvasRef);
});
  

Я также попробовал ‘data-processing-sources’ и ‘datasrc’ для атрибута.

Кто-нибудь знает, почему это не работает?

Ответ №1:

Мы проверяем только атрибут data-processing-sources в DOMContentLoaded. Если вы хотите загрузить эскиз обработки после этого, вы могли бы использовать Processing.loadSketchFromSources, что Processing.js используется внутренне для загрузки эскиза:

 $('#clicker').click(function(){
  var canvasRef = document.createElement('canvas');
  var p = Processing.loadSketchFromSources(canvasRef, ['/uploads/processing_js/anything_1.pde']);
  $('#loader').append(canvasRef);
});
  

Комментарии:

1. Это работает — просто обратите внимание, что loadSketchFromSources ожидает массив.

2. Вы абсолютно правы, спасибо за это. Я исправил свой ответ