2012-05-26 3 views
0

У меня возникла проблема с использованием processing.js на нескольких страницах.Использование Processing.js на нескольких страницах

У меня есть главная страница (test.html), которая загружает через jquery все страницы в div с именем «contentarea». Это всего лишь отрывок из «test.html», только так вы получите идею:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script src="js/processing.js"></script> 
<script> 
$(document).ready(function(){$("#contentarea").load("page1.html"); 
etc... 
</script> 
<div id="contentarea">...</div> 

Как вы можете видеть test.html содержит ссылку обработки «SRC =» JS/Processing.js «» и будет перехватывать любые статические «материалы обработки данных холста» на собственной странице («test.html» - только ).

Когда page1.html загружается в test.html, process.js не инициализирует холст. Но при просмотре страницы (page1.html) сама по себе, process.js перехватывает «материалы обработки данных холста» и загружается нормально.

Вот рабочий пример проблемы:

Пример

ВОПРОС:

Как я могу получить Processing.js инициализацию (или повторно инициализировать или обновлять или загружать) холст, который динамически загружается?

Спасибо заранее!

ответ

0

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

function loadSketchOnContentSwap() { 
    var canvas = /* get the relevant canvas however you want */ 
    var sources = canvas.getAttribute("data-processing-sources").split(/\s+/); 
    Processing.loadSketchFromSources(canvas, sources); 
} 
Смежные вопросы