【发布时间】:2018-01-08 22:44:27
【问题描述】:
我的问题: 如何使用 Swift 3 检查 WKWebView 中的页面是否已在 Xcode 中完全加载?
这是我的问题:
网页 1: 从这个页面我加载网页 2
网页 2: 我需要从网页 2 获取 html 数据,但是当我打印 HTML 数据时,我得到了网页 1 的 HTML 数据,这是我不想要的。但是当我在 2 秒后打印 HTML 数据时,它给了我正确的 HTML 数据。
我需要知道 WKWebView 中的页面是否完成加载。我可以在 WebView 中看到它已加载并且进度条已完全加载,但是当我打印页面的 html 数据时,我得到了前一页的 html 数据,这不是我想要的。仅当我稍等片刻时,它才会提供正确的数据,这可能会导致网页 2 已加载。
那么当下一页完全加载时,我如何让 Xcode 打印 html?
我尝试了几种方法:
也许我可以使用:
如果 webView.isloading { 得到 } 但我不知道如何实现这个方法以及它是否应该工作。 我尝试了 Stack 中的几种方法,但这些方法对我不起作用或已过时。
你们知道 Swift 3 中这个问题的解决方案吗? 谢谢!
【问题讨论】:
-
在您链接的第一个问题中,它提到了
WKNavigationDelegate和func webView(WKWebView, didFinish: WKNavigation!)的使用,他们有帮助吗? -
您好,感谢您的回复。它对我没有帮助,但也许我不知道如何以正确的方式实现这些方法。你知道如何实现这个方法:developer.apple.com/documentation/webkit/wknavigationdelegate/…?
-
要使用该方法,使您的视图控制器类符合
WKNavigationDelegate协议,然后在您的视图控制器类中实现该方法。网上应该有例子such as this。 -
谢谢@paulvs!不知道从苹果文档中实现一个方法这么容易!
-
@Stef 你应该将你的问题标记为已回答:)
标签: swift xcode swift3 webkit wkwebview