/// 1 在發送請求之前,決定是否跳轉
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;
通過獲取navigationAction.request.URL是可以拿到當前webView。
但是里面有個問題,有些網站比如百度,是可以通過這個拿到正確的當前url;但是有些比如京東拿到的當前頁面url確是錯誤的。關于這一點還沒有搞明白?
E4I3AZ)C5LI9H_V26N0)}`S.png
比如這個網址,獲取出來的當前鏈接就變成這個了。這種看起來就像蘋果API自動給鏈接encode了。關于這個也像CTO請教過,由于他不搞蘋果開發,對于蘋果這個方法的處理機制不熟。只是說這個鏈接有點像廣告鏈接。如果有知道的大牛可以解釋下原因?
最后只能通過
[self.webView evaluateJavaScript:@"document.location.href" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
NSLog(@"%@ %@",response,error);
self.nowUrl = response;
}];
獲取當前頁面的url。但是這個就需要等頁面加載完成才能調用。