私はプロジェクトを引き継いでいます。このアプリの主な目標は、Webビューを作成し、すべてのページのURLを文字列チェックと照合して、どのバックグラウンド機能を実行する必要があるかを判断することです。
問題は、webViewDidFinishLoadは、webview自体が作成されたときに1回だけ起動するように見えることです。内部リンクがクリックされるたびに、それが再び起動することはありません。
onViewLoadでは、デリゲートが自分自身に設定されており、必ず比較的適切に配置されていますが、これもページの読み込みごとに発生しません。
これは言った。
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のメソッドの数が限られているため、私は落ち込んでいます。