Создать образ div? - PullRequest
       15

Создать образ div?

0 голосов
/ 13 ноября 2009

Мне было интересно, возможно ли создать изображение div внутри страницы в php, jquery или javascript? Или даже просто скриншот всей страницы (на моем собственном сервере - не на внешнем) ..

То, что я хочу сделать, это создать изображение графика (нарисованное через jQuery) и передать его в PDF, так как я не могу отобразить jQuery в pdf.

Ответы [ 5 ]

2 голосов
/ 13 ноября 2009

Из-за угроз безопасности невозможно заставить Javascript сделать скриншот веб-страницы. Это позволит вам украсть информацию о кредитной карте и т. Д. Вы можете использовать активный элемент управления X или что-то в этом роде, но клиент должен сознательно установить его, чтобы все работало.

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

Вот пример библиотеки, которую вы можете использовать для рисования графика в PHP. http://www.aditus.nu/jpgraph/

Возможно, вы сможете имитировать то, что jQuery делает в вашем скрипте, но это изменит дизайн ваших приложений.

1 голос
/ 13 ноября 2009

Если ваш javascript рисует график на холсте, вы можете сериализовать холст и затем отправить его на сервер, используя POST.

Я не знаю, может ли jquery нарисовать график на холсте, но если график простой, вы, вероятно, могли бы написать его самостоятельно, так как на холсте уже есть инструменты рисования.

Очевидно, это работает только с браузерами, поддерживающими canvas.

1 голос
/ 13 ноября 2009

Лучше всего использовать библиотеку GD на сервере для генерации графика по мере необходимости. Там нет практического способа скринкапа браузера холст. Посмотрите эту библиотеку PHP-графики, это может быть то, что вы ищете:

http://graphpite.sourceforge.net/

Если у вас возникли проблемы, когда вы выполняете обработку на стороне клиента, которых нет на сервере (например, суммирование строк или получение пользовательских настроек из файлов cookie), возможно, вам следует рассмотреть возможность передачи этих данных. вернуться к серверу и позволить вашему хостингу справиться с этим (в конце концов, именно поэтому вы запускаете сервер с большим количеством оперативной памяти и большим процессором для сокращения чисел).

1 голос
/ 13 ноября 2009

Как насчет использования генератора графа на стороне сервера, например, для PHP? Может быть, переход причиняет боль, но вы получите действительно стабильное и простое решение.

Если вы опишите, какие именно диаграммы вы генерируете и какие опции у вас есть на стороне сервера, я уверен, что вы получите некоторые конкретные советы.

1 голос
/ 13 ноября 2009

Посмотрите на эту статью:

http://www.developerfusion.com/code/181/capture-screenshot/

Это не код на стороне клиента, но вы упомянули PHP, так что, возможно, код на стороне сервера - вариант. Я не думаю, что вы можете сделать это на стороне клиента ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...