Ich habe ein Modul in meiner iOS 7+ App, die ein UIWebView ist. Die HTML-Seite lädt ein Javascript, das benutzerdefinierte Schaltflächen (mit der Raphaeljs-Bibliothek) erstellt. Mit UIWebView setze ich delegate auf self. Die Delegate-Methode webView: shouldStartLoadWithRequest: navigationType:
wird jedes Mal aufgerufen, wenn eine meiner benutzerdefinierten Schaltflächen gedrückt wird. Die Anfragen sollten nicht vom HTML, sondern vom iOS Code bearbeitet werden. Also habe ich eine Anforderungskonvention (hier irgendwo auf stackoverflow) mit "inapp" als Schema meiner Anfragen verwendet. Ich checke dann nach dem Gastgeber und ergreife die entsprechende Aktion.UIWebView Delegate-Methode sollteStartLoadWithRequest: Entsprechung in WKWebView?
Dieser Code funktioniert gut auf iOS 7. Aber die Web-Ansichten erscheinen leer auf iOS 8 (Bug?), So entschied ich mich, WKWebView für iOS 8 Geräte zu verwenden. Die Web-Ansichten werden jetzt gut dargestellt (und unglaublich schneller!), Aber meine Schaltflächen haben keine Wirkung.
Ich versuchte mit - (WKNaviation *)loadRequest:(NSURLRequest *)request
, aber es heißt nicht.
Ich kann keine direkte Entsprechung der UIWebView-Delegate-Methode webView: shouldStartLoadWithRequest: navigationType:
finden. Was ist der beste Weg, um diese Anfragen mit WKWebView zu bearbeiten?
Zuerst entschuldige ich mich für die Verzögerung. Ich habe Ihre Lösung für einen meiner Links getestet und es hat funktioniert. Vielen Dank! Ich werde die Lösung jetzt überall anwenden. Obwohl ich meinen Webinhalt auf dem Simulator sehen kann, kann ich ihn auf meinem Gerät nicht sehen. Auf dem Gerät sehe ich immer noch eine leere Seite. Irgendeine Idee warum? – invalidArgument
@invalidArgument Laden Sie den Web-Content aus dem Internet oder aus Ihrem Bundle? Weil ich seitdem gelernt habe, gibt es einen kleinen Fehler in WKWebView zum Laden von lokalen Inhalten: http://stackoverflow.com/questions/24882834/wkwebview-not-working-in-ios-8-beta-4 – SeanR
Es ist aus meinem Bündel geladen. Ich habe gerade eine Frage gestellt, die ausschließlich dem Problem der leeren Seite gewidmet ist: http://stackoverflow.com/q/26455432/873436. Dieser Link war sehr hilfreich, danke nochmal. Es führte jedoch zu einem anderen Problem. – invalidArgument