Я пишу приложение, которое позволяет пользователям генерировать изображения с Raphael. JS. Одна из вторичных функций, которые я хочу, должна генерировать PNG холста Raphael.
Вот общий конвейер в моей голове:
- Параметры вводов данных пользователем
- Мы генерируем JS с вызовами Raphael
- Мы генерируем обертку JS, которая делает вышеупомянутое и называет .innerHTML на содержании отделения, давая нам SVG (который мы затем отправляем куда-нибудь),
- Мы выполняем обертку JS
- SVG отправляется ImageMagick и выталкивает PNG
Шаг 4 является шагом, на котором я нуждаюсь в некотором руководстве. Пользователь мог использовать IE; у нас нет гарантии, что JS когда-либо выполняется в браузере SVG. В любом случае нам было бы нужно это для выполнения серверной стороны для него, чтобы быть надежными. Таким образом, вот эти три возможности, я придумал до сих пор:
- Firefox установки на сервере и выполненный результат (3) в Firefox. Эта опция сосет, потому что установка FF означает устанавливать набор X материалов на нашем сервере, рабочий FF несет много издержек, и я действительно не хочу слоняться без дела с отслеживанием процесса и уничтожением его, после того как это сделано.
- Используйте Node.js + jsdom (http://github.com/tmpvar/jsdom). Оборотная сторона здесь - то, что не ясно, как поддерживаемый jsdom - подразумеваемый сайт, jsdom.org, действительно не существует. Кроме того, я не могу найти документацию.
- Возможно, что-то с Носорогом? Насколько я могу сказать, у Носорога есть еще больше скудной поддержки DOM, чем Узел.
Таким образом... все три из тех опций отчасти сосут. Я думаю. Я неправильно о чем-то? Есть ли иначе?
задан Cœur 22 January 2019 в 06:43
поделиться