我在iPad上的iOS8上运行WKWebView应用程序(标准iPad UserAgent:"Mozilla/5.0(iPad; CPU OS 8_1_1,如Mac OS X)AppleWebKit/600.1.4(KHTML,如Gecko)版本/ 8.0 Mobile/12B436 Safari/600.1 0.4" ).我已经尝试了所有我能想到的代表和监听器,每次都尝试检测页面何时完成加载.这是问题所在:
打开您的WKWebView并转到Google.以下称为:
_decidePolicyForNavigationAction
_didStartProvisionalNavigation
_ didFinishNavigation
Run Code Online (Sandbox Code Playgroud)在Google中输入"YouTube":仅调用_decidePolicyForNavigationAction.没有didStartProvisionalNavigation或didFinishNavigation
点击Google中的YouTube.以下称为:
_didStartProvisionalNavigation
_decidePolicyForNavigationAction
_ didFinishNavigation
Run Code Online (Sandbox Code Playgroud)从现在开始,在YouTube内没有任何内容.点击YouTube视频,没有didStartProvisionalNavigation或didFinishNavigation.此外,不再调用webview.loading观察者.甚至decisionPolicyForNavigationAction也只是偶尔被调用.但是...... 每次点击都会更新webView.backForwardList.currentItem,所以这必须检测页面何时以某种方式加载?
这种行为也发生在许多其他网站上(例如Vimeo).我知道这种类型的网站每次都没有更新主框架,但缺乏检测何时加载已经开始/完成WKWebView当前状态的"限制"的能力?
我想要实现的是:在YouTube/Vimeo等Java移动网站中,是否有其他方法可以检测导航何时完成:
谢谢你的帮助.