我接手了一个项目,在这个应用程序中,这里的主要目标是拥有一个 web 视图,并根据字符串检查检查每个页面加载 URL,以确定需要执行哪些后台功能。
问题是,webViewDidFinishLoad 似乎只在创建 webview 本身时触发一次。任何时候点击内部链接,它都不会再次触发。
在 onViewLoad 中,我确实将委托设置为 self,并且无论如何事情都相对到位,但这并不是在每次页面加载时都被触发。
这说。
shouldStartLoadWithRequest 可以。但是,因为它正在启动请求,并且在事件触发时 URL 还没有完全加载,所以当我使用它时,它会获取请求页面的当前 URL 而不是目标 URL
NSString *curURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
其他函数要么不返回任何内容,要么与上面的函数完全相同
//NSString *curURL = self.webView.request.URL.absoluteString;
//NSString *curURL = webView.request.mainDocumentURL.absoluteString;
所以,我在这里不知所措,在Android上做这个相对简单,但是webView的方法数量有限让我郁闷..