【发布时间】:2015-10-14 07:56:28
【问题描述】:
我想知道如何使用共享/操作扩展来截取 iOS 主机应用程序的屏幕截图。
我的用例如下:
- 使用 Safari 浏览器访问网页(https,如 gmail)
- 点击分享按钮并选择扩展程序
- 该扩展程序将截取当前网页的屏幕截图
此用例的一个工作示例是Awesome Screenshot iOS app。
我试过以下方法
- 在 UIWebView/WKWebkit 上重新加载 baseURI (loadRequest)(将无法访问 https 内容,例如 Gmail)。所以不做任何重新加载(真棒截图不做重新加载顺便说一句)
- 使用 ExtensionPreprocessingJS 通过 arguments.completionFunction 函数获取 DOM 内容。我无法在此处提取 document.body,尽管我可以获得源等。使用 baseURI 的 loadHTMLString 会弄乱表示层。
- 在 ExtensionPreprocessingJS 中使用 html2canvas 获取图像并将其作为孩子附加到宿主应用程序的网页,但不知道如何提取它。此外,某些网页(例如 Gmail)的图片丢失了。
- Mobile Safari 没有 visibleContentsAsDataURL 方法。
我认为一种可行的方法是在 ExtensionPreprocessingJS 中使用 html2canvas,但是如何以某种方式保存此图像?
【问题讨论】:
-
你解决了吗??
-
@Andres,不是这样......你的想法是什么?
-
到目前为止我还不知道!如果我知道该怎么做,我会发布答案! :)
-
@Andres,非常感谢!
标签: swift algorithm ios8-extension ios8-share-extension webpage-screenshot