Wie kann ich die Seitenänderung in UIWebView erkennen und etwas tun, bevor es geladen wird?

8

Ich muss auf jeder Seitenänderung etwas tun, bevor diese Seite geladen / ausgeführt wird.

Zuerst habe ich versucht, -webView:shouldStartLoadWithRequest: zu verwenden, aber das wird nicht funktionieren, weil es auch für XHR-Anfragen und Iframe-Anfragen aufgerufen wird.

Zweitens habe ich versucht, -webViewDidStartLoad: zu verwenden und webView.request mit dem vorherigen Wert zu vergleichen, um zu sehen, ob es sich geändert hat. Dies funktioniert nicht, weil webView.request nur einige Zeit nach dem Aufruf aktualisiert wird.

Noch mehr Ideen?

    
Jaka Jančar 15.01.2010, 11:15
quelle

3 Antworten

10

Das Anfrageobjekt in webView: shouldStartLoadWithRequest: hat zwei Eigenschaften,

%Vor%

Wenn die zu ladende URL ungleich mainDocumentURL ist, laden Sie etwas anderes als das Hauptdokument (wahrscheinlich ein iFrame).

    
Lee Higgins 14.03.2011 15:31
quelle
1

Haben Sie versucht, mit KVO UIWebView.request zu beobachten?

    
hatfinch 21.01.2011 22:19
quelle
0

Erstellen Sie eine Kategorie oder erweitern Sie UIWebview, das loadRequest überschreibt, indem Sie zuerst Ihre Operation ausführen und dann die standardmäßige loadRequest ausführen.

    
David Sowsy 20.01.2010 18:28
quelle

Tags und Links