Сделайте скриншот страницы, содержащей фрейм - PullRequest
0 голосов
/ 18 октября 2018

У нас есть сайт nodeJS / angular 4, который отображает iframe от третьей стороны (powerBI Emebdded).Мы пытаемся разработать функцию, позволяющую конечному пользователю сделать снимок экрана со страницей содержимого iframe.

Мы попробовали библиотеку iframe2image: https://github.com/twolfson/iframe2image

Но мыперед лицом той же политики происхождения:

ERROR DOMException: Blocked a frame with origin http://localhost:4200
from accessing a cross-origin frame

Поскольку у нас нет доступа к iframe (это сторонний контент, сгенерированный PowerBI iframe с выделенной библиотекой).Мы не можем обойти политику, установив window.document.domain в iframe в тот же домен.

У вас есть решение, чтобы предложить нам?

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

В Firefox вы можете использовать метод .getScreenshot элемента iframe, чтобы получить скриншот его содержимого.См. Документацию:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/getScreenshot

Это работает только в Firefox и только в хромовом коде , но не на самой веб-странице.

0 голосов
/ 25 октября 2018

Я думаю, что это абсолютно невозможно, потому что нет доступа к элементам документа iframe.Но доступ к этим элементам необходим, потому что все библиотеки, которые отображают html для любой формы изображения, должны разрешать элементы внутри документа, чтобы получить визуальные эффекты из него.

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