I need to do something on each page change, before that page starts loading/executing.
First, I tried using -webView:shouldStartLoadWithRequest:
but that won't work, because it's also called for XHR requests and iframe requests.
Second, I tried using -webViewDidStartLoad:
and comparing webView.request
to it's previous value, to see if it changed. This doesn't work, because webView.request
is updated only some time after the call.
Any more ideas?
The request object in webView:shouldStartLoadWithRequest: has two properties,
BOOL iframe = ![request.URL isEqual:request.mainDocumentURL];
If the URL to load is not equal to the mainDocumentURL you are loading something other than main doc (probably an iFrame).
Have you tried using KVO to observe UIWebView.request
?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With