gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 11:42:51 25 4
gpt4 key购买 nike

我正在使用“SwiftSoup”SDK 解析来自 UIWebView 的 HTML 内容。我想要从 HTML 内容中获取的每个图像的图像大小和分辨率。如何在加载图像后以及从 SwiftSoup 收到的 HTML 内容中获取图像大小和分辨率?

最佳答案

假设您知道 HTML 中的所有图像何时加载,下面的 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,你可以解析它以获得所需的信息。

例如此页面的输出是

[{"url":"/image/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,因为 Apple 也推荐它,而且 stringByEvaluatingJavaScript(from:) 会阻塞(WKWebView > 提供了此函数的异步版本,并且还将为您进行解析,因此您可以从脚本中删除 JSON.stringify() 调用。

关于swift - 如何从 Swift 中的 UIWebview 加载的 HTML 内容中获取图像大小和图像分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49153988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com