New Processing.js uncaught исключение «вызвал конструктор Processing, как если бы это была функция: отсутствует« new ».» - PullRequest
0 голосов
/ 13 февраля 2011

Я только что вернулся в проект Processing.js, который был на полке в течение года.Я решил обновить до Processing-1.0.0.min.js.Это вызвало новое исключение на поверхность.Я думаю, что что-то в моем скрипте инициализации теперь должно быть незаконным.Вот сценарий из заголовка страницы:

    <!--Canvas sketch initialization script-->

    <!--
    This script is generic in that it is controlled using the Django template language in specifying
    variable canvas id's and corresponding script id's. It must remain on the page (i.e., cannot be an
    external script) so that the Django template can supply its parameters. It follows the control script
    above so that global variables are ready for use by the Processing.js scripts when it is triggered,
    and it is in the document ready function so that the canvases and Processing.js scripts are themselves
    ready to be initialized at that time.
    -->
    <script type="text/javascript">
        $(document).ready(function() {

            canvas = document.getElementById("elevCanvas");
            script = document.getElementById("elevScript").text;
            Processing(canvas, script);

            canvas = document.getElementById("planCanvas");
            script = document.getElementById("planScript").text;
            Processing(canvas, script);

        });
    </script>

Ниже, в теле страницы, для каждого из полотен у меня был код, следующий этому шаблону:

<script id="elevScript" type="application/processing">
    .
    .
    .
    /* Script purpose-built by a server-side code 
    concatenator and put on the page */
    .
    .
    .
</script>

<canvas id="elevCanvas"></canvas>

Я не использовал стандартную процедуру инициализации, потому что на этих страницах основной и библиотечный сценарии Processing.js выбираются на лету в соответствии с необходимостью и отправляются на страницу с помощью системы шаблонов Django.(Функция готовности документа взята из jQuery.)

В последней документации Processing.js я вижу:

<canvas data-processing-sources="hello-web.pde"></canvas>

Я не помню атрибута data-processing-sources от ранее.Итак, конструкция Обработка (холст, сценарий); больше не действительна?Требуется ли новый конструктор?Кто-нибудь может привести меня в движение?F1LT3R?

1 Ответ

0 голосов
/ 07 мая 2011

довольно поздно в этот момент, но: ошибка говорит вам, что вы сделали неправильно и что вам нужно сделать, чтобы исправить это.Вместо просто «Обработка (холст, скрипт)», используйте «новая обработка (холст, скрипт)».

Тем не менее, в Pjs произошли некоторые изменения в версии 1.0 и более поздних, поэтому вы можете захотеть посмотретьв частности http://processingjs.org/reference/articles/PomaxGuide и http://processingjs.org/reference/articles/PomaxGuide#graphic (хотя я бы рекомендовал чистое использование, а не использование pjs в качестве библиотеки js, потому что писать эскизы таким способом намного проще)

...