Мне будет интересно узнать, как сделать снимок экрана приложения-хоста iOS с использованием расширения share/action.Сделать снимок экрана с помощью приложения-хозяина с помощью расширений share/action iOS?
Мой случай использования заключается в следующем:
- использовать браузер Safari, чтобы получить доступ к веб-страницу (HTTPS, такие как Gmail)
- нажмите на кнопку Share и выберите расширение
- расширение будет принимать скриншот текущей веб-страницы
Рабочий пример для этого варианта использования: Awesome Screenshot iOS app.
Я попытался следующие методы
- перезагружать BaseUri (loadRequest) на UIWebView/WKWebkit (не сможет получить доступ к HTTPS содержимого, такие как Gmail). Поэтому не делать перезагрузки (Awesome Screenshot не делает перезагрузку).
- Используется ExtensionPreprocessingJS для получения содержимого DOM через функцию arguments.completionFunction. Я не мог извлечь document.body здесь, хотя я мог бы получить источник и т. Д. LoadHTMLString с baseURI испортит уровень представления.
- Используется html2canvas в ExtensionPreprocessingJS для получения изображения и добавления его на веб-страницу хост-приложения в качестве ребенка, но не знает, как его извлечь. Кроме того, изображение потерялось для некоторых веб-страниц, таких как Gmail.
- Мобильное Safari не имеет метода visibleContentsAsDataURL.
Я думаю, что жизнеспособным подходом будет использование html2canvas в ExtensionPreprocessingJS, но как мне сохранить это изображение каким-то образом?
вы решить эту проблему ?? – Andres
@ Андрес, не так ... в чем твоя идея? –
До сих пор я понятия не имею! Я отправлю ответ Если я узнаю, как это сделать! :) – Andres