динамический js с phantomjs в локальном html-файле

Я строю диаграмму с D3.js, которая использует большие данные. Теперь вместо того, чтобы передавать данные на сторону клиента, я решаю построить эту диаграмму на сервере и показать изображение клиенту... Проект на PHP, использовать Gearman для потоковой передачи и фантомные файлы для захват изображения...

теперь 1) в настоящее время инструмент командной строки phantomjs дает изображение только тогда, когда html-код этой диаграммы выполняется где-то, например, на локальном хосте или т. д. SO Как я могу получить это изображение без запуска этого кода на сервере

2) теперь, если я использую файл csv с d3.js, не запуская его на каком-либо сервере, он не позволит его прочитать. поэтому альтернативный способ чтения этих файлов csv с локальной html-страницей

3) CSV, который я использую, является динамическим, если я использую статическую страницу, чем я обновляю эту часть с помощью php-кода. Но пока потоки работают асинхронно, если я обновляю файл для одного и другого потока, используйте его, что может создать проблему... < strong>какой-то параллельный механизм, который использует какой-то пакет и с одним динамическим js или attr .


person Amit Rana    schedule 06.03.2015    source источник
comment
Какой CSV-файл? Откуда приходит? Каким должно быть содержание? Как он должен преобразиться? Какое отношение это имеет к рендерингу в PhantomJS?   -  person Artjom B.    schedule 06.03.2015
comment
Пожалуйста, опишите правильно вашу архитектуру. Какие процессы выполняются другими процессами и какие одновременно. Что они должны делать и что они делают? Что означает какой-то пакет и с одним динамическим js или атрибутом?   -  person Artjom B.    schedule 06.03.2015
comment
csv создан из некоторого php-кода на основе динамического запроса, он содержит результаты ... теперь это будет работать одинаково для более чем 3-4 пользователей параллельно на сервере с плагином gearman ... в конце этой функции я буду использовать это данные для построения диаграммы, здесь код диаграммы будет таким же, но csv будет другим... ТАК для каждого пользователя этот csv будет отличаться в зависимости от некоторого уникального имени или идентификатора, который будет следовать из параллельного процесса... Итак, для каждого использования этого должен быть новый csv...   -  person Amit Rana    schedule 07.03.2015


Ответы (1)


в настоящее время инструмент командной строки phantomjs дает изображение только тогда, когда html-код этой диаграммы выполняется где-то, например, на локальном хосте или т. д. ТАК, как я могу получить это изображение, не запуская этот код на сервере?

Независимо от того, откуда он взялся, PhantomJS потребляет html+css+js. Если сервер просто обслуживает статические файлы, откройте эти файлы с файловыми URI. Если это генерируется через сервер, зачем вам искать другой способ генерировать тот же результат? Бессмысленно выполнять ту же задачу другим способом.

теперь, если я использую CSV-файл с d3.js, не запуская его на каком-либо сервере, он не позволит его прочитать. поэтому альтернативный способ чтения этих CSV-файлов с локальной HTML-страницей

Вероятно, вам нужно использовать файловые URI для ссылки на ресурсы по относительному пути.

person Artjom B.    schedule 06.03.2015
comment
если мы используем d3.csv без какого-либо сервера, он вернет ошибку междоменного происхождения для чтения файла. - person Amit Rana; 07.03.2015
comment
Используйте --local-to-remote-url-access=true при его запуске, но тогда вам нужен работающий сервер для этого. - person Artjom B.; 07.03.2015