首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Swift中从UIWebview加载的HTML内容中获取图像大小和图像分辨率?

如何从Swift中从UIWebview加载的HTML内容中获取图像大小和图像分辨率?
EN

Stack Overflow用户
提问于 2018-03-07 22:13:07
回答 1查看 391关注 0票数 0

我正在使用'SwiftSoup‘软件开发工具包解析来自UIWebView的HTML内容。我想要的图像大小和分辨率的每一个图像从HTML内容中提取。如何在加载图像并从SwiftSoup接收到的HTML内容中获取图像大小和分辨率?

EN

回答 1

Stack Overflow用户

发布于 2018-03-07 22:48:58

假设您知道HTML中的所有图像都已加载,下面是一段javascript代码,可用于获取所有图像的大小列表:

代码语言:javascript
复制
let script = "JSON.stringify([].slice.call(document.getElementsByTagName('img')).map(function(img) { return {url: img.src, width: img.clientWidth, height: img.clientHeight} }))"

通过stringByEvaluatingJavaScript(from:)执行这个javascript应该会得到一个JSON,您可以解析它来获得所需的信息。

例如,此页的输出为

代码语言:javascript
复制
[{"url":"https://i.stack.imgur.com/rQQMq.png?s=48&g=1","width":24,"height":24},{"url":"https://www.gravatar.com/avatar/46be6ae9d14855f5ab1aaf1d510ab8bc?s=32&d=identicon&r=PG&f=1","width":32,"height":32},{"url":"https://clc.stackoverflow.com/impression.gif?an=49ocs77evOWqh-6LVv8gJiaWI_07xL9f6GBcyDt7dl3NWtNsxo9-twOOBzKwMPRsYGBosGdkZGCRZuqawDHjMeecj4L_WRhSDiyObbJ82JRhP5vp7j6Og2e4ru0W9mRhmNs0gbnc8pVcsT0jc2Z-sTTTwxaOliucyy4LsrAwFLRcfRVt-e6KDEjTco4LjVyda4XkgZqaJcJzLa9Oj4RoMrJk4eJgYpBgYGDg4o1ij5VnYhAHsvk4o9gSmZgYRIBsfmYbtrvCTAxiIHH2ALapwv3t9i1z_NRrAA&md=291","width":0,"height":0}]

不过,我建议切换到WKWebView,因为它也是苹果推荐的,而且stringByEvaluatingJavaScript(from:)是阻塞的(WKWebView提供了此函数的异步版本,该函数也将为您执行解析,因此您可以从脚本中删除JSON.stringify()调用)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49153988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档