@Kirill-Gorelov
С ума с IT

Замена iframe на js?

Парни, хочу сделать скриншотер страниц сайта(попрактиковаться хочу).
Сам скриншотер реализую через html2canvas. А вот страницу как подгрузить не знаю.
Когда использую iframe, то на скриншоте ничего не отображается. Я пробовал и саму страницу скринить и отдельные блоки. Содержимое Iframe никак не отображается.
Как мне можно сделать так, что содержимое стороннего сайта попало в скриншот?
То есть как мне загрузить сторонний сайт к себе на страницу и заскриншотить его?
  • Вопрос задан
  • 438 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Попробуйте сохранять вид сайта в картинку через PhantomJS – по ссылке пример, как сохранить главную страницу github в файл png.

Нужно скачать PhantomJS, создать js-файл с 5 строчками из примера, и запустить из командной строки примерно так: phantomjs github.js

PhantomJS – это не JS-библиотека, это Webkit браузер, управляемый через JavaScript API. Как заметил hOtRush Google также анонсировал «безголовую» версию своего браузерного движка Chromium, в связи с чем проект PhantomJS может потерять актуальность. Тем не менее, пока он вполне рабочий, и обновляется сообществом разработчиков (последний коммит на сегодня – двухмесячной давности, от 25 июня 2017).

Вы можете установить PhantomJS на своем сервере и вызывать его через exec() из php-скрипта, принимающего URL сайта, который надо перевести в картинку. Это самый простой вариант. Минус – в том, что PhantomJS жрёт много памяти, и если несколько посетителей запросят одновременно несколько заданий, памяти на всех может не хватить. В таком случае организуйте асинхронную очередь задач. Поступающие запросы с URL ставьте в очередь, которая последовательно обрабатывается всего одним процессом phantomjs. По мере готовности, заказчики смогут забрать готовые картинки сайтов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 06:09
30000 руб./за проект
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект