In meiner App muss ich feststellen, wann mein Webview fertig geladen ist. Es ist sehr einfach zu tun, wenn Inhalt HTML ist. Allerdings ist meine Inhaltsquelle Javascript mit iFrame innerhalb, es wird UIWebView finallyLoad Methode aufgerufen mehrere Male aufgerufen. Kann ich irgendwie überprüfen, ob der iframe fertig geladen ist?So bestimmen Sie, ob iFrame fertig geladen wurde in UIWebView
Antwort
Die einzige idiotensichere Methode, die ich gefunden habe, ist zu hören, die drei Methoden zu sagen, es wird geladen, und das Laden beendet (plus gleichwertig für "fehlgeschlagen"), und manuell eine Zählung für jeden.
das heißt so etwas wie:
int outstandingRequests;
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
outstandingRequests++;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
outstandingRequests--;
if(outstandingRequests < 1)
viewLoadingPleaseWait.hidden = TRUE;
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
outstandingRequests--;
}
habe ich auch in der Regel die didFail Methode overrid musste - Apple verwendet falsch dies, dass zu berichten, zum Beispiel Der YouTube-Player hat die Handhabung eines YouTube-Videos übernommen. Es ist kein Fehler, es ist eine "Seite wurde von einer anderen Anwendung geladen".
z.B.
(Wenn es die gleiche Domäne ist), können Sie eine Funktion (im Elternteil) vom iframe aufrufen.
top.iFrameLoaded();
sagen, ob ein webview Laden ist, können Sie webView.isLoading
zu überprüfen, ob alle Rahmen eines webview Laden fertig sind verwenden können. Kein Zählen der Anzahl der benötigten Iframes. Einfach überprüfen, ob isLoading
innerhalb webViewDidFinishLoad:
- 1. UIWebView fertig geladen Ereignis
- 2. So überprüfen Sie, ob iframe in JavaScript geladen ist
- 3. UIWebView hat nicht ganz fertig geladen
- 4. Ermitteln, ob der Iframe-Inhalt erfolgreich geladen wurde
- 5. Testen, ob jQueryUI geladen wurde
- 6. Überprüfen, ob URL über iframe geladen wird
- 7. wie zu bestimmen, ob Webseite geändert wurde
- 8. Skript warten, bis Iframe geladen wurde, bevor es ausgeführt wurde
- 9. Bestimmen Sie, welche Taste gedrückt wurde?
- 10. So bestimmen Sie, welchen Stil ein Steuerelement zugewiesen wurde
- 11. Starten Sie ein VSpackage, als ob es gerade geladen wurde
- 12. Wie kann ich feststellen, ob ein Popup vollständig geladen wurde?
- 13. Überprüfen, ob ein HTML in ein DIV geladen wurde
- 14. Bestimmen, wann Bilder in HTML geladen werden?
- 15. Javascript - So erkennen Sie, ob das Dokument geladen wurde (IE 7/Firefox 3)
- 16. Erhalten Sie die richtige Größe eines UIWebView, nachdem es geladen wurde, swift
- 17. Bilder werden nicht in UIWebView geladen
- 18. Wie überprüft man, ob die Standardkonfiguration in CI3 geladen wurde?
- 19. BrowserAction.onClicked Warten Sie, bis Iframe geladen wird
- 20. So laden Sie IFrame nach PageLoad
- 21. So schließen Sie die aktuelle Ansicht nach dem Laden einer Webseite in UIWebView
- 22. Wie man eine jquery-Funktion in Angular 2 ausführt, nachdem jede Komponente fertig geladen wurde
- 23. Internet Explorer neu geladen IFrame
- 24. jQuery: Überprüfen Sie, ob Inhalt in einem iframe sitzt
- 25. So ermitteln Sie, ob TextView-Textinhalt abgeschnitten wurde
- 26. So ermitteln Sie, ob ein Verzeichnispfad SUBST'd wurde
- 27. So ermitteln Sie, ob ein Ereignis bereits abonniert wurde
- 28. Überprüfen Sie, ob ein MotionEvent.ACTION_MOVE ausgeführt wurde
- 29. So überprüfen Sie, ob ein Ereignis verhindert wurde
- 30. C# - So erkennen Sie, ob die Website besucht wurde
+1, sehr hilfreich Dank ist wahr! Nur ein Kopf hoch, endete ich oben inkrementieren der Zähler outstandingRequests in der '- (void) webViewDidStartLoad: (UIWebView *) aWebView' Methode, weil die 'shouldStartLoadWithRequest' war weniger zuverlässig. – Stunner