2016-04-15 9 views
0

Also ich entwickle eine iOS App basierend auf WKWebView. Es wird von Cordova erzeugt. Mein Problem ist, dass jedes Mal, wenn ich die Bilder vom Server lade, es langsam sein kann, da die Verbindung zum Server manchmal sehr langsam ist. Ich habe versucht, die Bilder zu cachen, aber es kann immer noch langsam sein manchmal coz Ich fand in der Konsole, dass mein WKWebView immer noch mit dem Server (304) sprechen wird, um die Version meiner gecachten Bilder zu überprüfen. Gibt es eine Methode, die ich verwenden kann, um diese Anforderung zu blockieren und zwischengespeicherte Bilder direkt zu laden?Wie blockiere ich die 304-Anfrage in WKWebView, um zwischengespeicherte Bilder zu laden, ohne mit dem Server zu kommunizieren?

Antwort

1

Ich glaube, WKWebView sollte automatisch (oder eher standardmäßig) die Vorteile der Zwischenspeicherung in Ihrem HTTP-Header nutzen. Sie müssen das Leverage-Browser-Caching auf Ihrem Server einrichten/erhöhen. Wie Sie dies tun, hängt davon ab, welchen Server Sie verwenden, aber es ist in der Regel einfach zu tun. Unter Verwendung des Apache-Webservers müssen Sie Ihre Serverkonfiguration (normalerweise in /etc/httpd/conf/httpd.conf) zu Include conf/extra/httpd-leverage-cacheing.conf bearbeiten und diese Unterkonfigurationsdatei nach Bedarf bearbeiten. Normalerweise werden Bilder für 1 bis 4 Wochen als gut betrachtet, abhängig davon, wie oft sie sich ändern.

+0

Vielen Dank für Ihre Antwort, und ich werde es morgen ausprobieren! Gute Nacht! – Allen

+0

Sie können kostenlose Dienste verwenden, um sicherzustellen, dass Funktionen wie das Browser-Caching auf Websites wie [GTmetrix] (http://gtmetrix.com) oder [PageSpeed ​​Insights] (https://developers.google.com/speed/) ordnungsgemäß funktionieren. pagespeed/insights /). –

0

Also habe ich dieses Lag-Problem behoben, indem ich in einen Linux-Server anstelle eines Knoten-Servers gewechselt habe. Das ist es lol.