嵌入式推文有时无法在 WKWebView 中完全加载
Embedded Tweet doesn't load completely sometimes in WKWebView
我正在尝试在 Swift 的 iOS 中的 WKWebViews 中加载一些嵌入的推文。我通过 Twitter oembed API (https://developer.twitter.com/en/docs/twitter-for-websites/embedded-tweets/overview.html) 获得 html 内容,因为不再支持本机 Twitter SDK。
有时,推文不会完全加载,有时会:
如您在此屏幕截图中所见,第一条推文未加载图像、按钮、字体……但第二条推文加载成功。
我曾尝试在队列中一个接一个地加载推文,因为我认为一次同时加载所有推文是个问题...但不幸的是没有成功。
我收到的推文 HTML 是这样的:
func getEmbeddedTweet(url: String, completion: @escaping (_ html: String?) -> Void) -> Void {
let twitterUrl = "https://publish.twitter.com/oembed?hide_thread=true&url="+url
Alamofire.request(twitterUrl).responseJSON { response in
switch response.result {
case .success(let JSON):
if let response = JSON as? NSDictionary, let html = response.object(forKey: "html") as? String {
completion(html)
}
case .failure(_):
completion(nil)
}
}
}
我这样简单地加载它:
self.webView!.loadHTMLString(html, baseURL: nil)
我希望每条推文都能正确加载。
有人以前遇到过这个问题吗?谢谢!
我正在尝试在 Swift 的 iOS 中的 WKWebViews 中加载一些嵌入的推文。我通过 Twitter oembed API (https://developer.twitter.com/en/docs/twitter-for-websites/embedded-tweets/overview.html) 获得 html 内容,因为不再支持本机 Twitter SDK。 有时,推文不会完全加载,有时会:
我曾尝试在队列中一个接一个地加载推文,因为我认为一次同时加载所有推文是个问题...但不幸的是没有成功。
我收到的推文 HTML 是这样的:
func getEmbeddedTweet(url: String, completion: @escaping (_ html: String?) -> Void) -> Void {
let twitterUrl = "https://publish.twitter.com/oembed?hide_thread=true&url="+url
Alamofire.request(twitterUrl).responseJSON { response in
switch response.result {
case .success(let JSON):
if let response = JSON as? NSDictionary, let html = response.object(forKey: "html") as? String {
completion(html)
}
case .failure(_):
completion(nil)
}
}
}
我这样简单地加载它:
self.webView!.loadHTMLString(html, baseURL: nil)
我希望每条推文都能正确加载。 有人以前遇到过这个问题吗?谢谢!