Wenn Sie die WebView-Komponente "Reactive Native" verwenden, wird der externe Inhalt in dem Moment geladen, in dem die Komponente gerendert wird.
Um die Leistung in der Anwendung zu erhöhen, habe ich versucht, den externen HTML-Code vorab abzurufen, damit er fertig ist, wenn die Komponente gerendert wird. Es sieht so aus, als würde nur ein Aufruf der Rendermethode den Ladevorgang starten und dies wird nur durch das, was auf dem Bildschirm gerendert wird, gesteuert. Ich nehme an, dass React Native kein Konzept von Shadow-DOM hat, das dazu verwendet werden könnte, die Render-Methode als Kopf der Zeit zu bezeichnen. Der Versuch, die Lebenszyklus-Methoden zu manipulieren, funktioniert auch nicht und ist wahrscheinlich auch nicht der richtige Weg, dies zu tun.
Ich habe auch versucht, einen fetch()
des externen HTML-Inhalts mit dem richtigen user-agent in der Kopfzeile zu erstellen und den responseText an die WebComponent zu übergeben. Dies funktioniert manchmal bei einigen Quell-Sites, bei anderen dagegen bei ACAP-Problemen (Automated Content Access Protocol), was nicht die bevorzugte Lösung ist.
Gibt es eine Möglichkeit, externen HTML-Inhalt vorab einer WebView-Komponente zuzuordnen, damit sie schneller angezeigt wird?
fetch
Methode läuft auf der reaktiven Seite, fetch
behält den Cache bei, aber der ist für die react apis und ihre Komponente verfügbar. WebView
hat ein eigenes Caching-Konzept. Es ist ein Browser. Caching von fetch
ist nicht verfügbar für WebView
. Zum schnelleren Laden von vorgeladenen Daten sollten Sie Daten nach WebView
instanz von fetch
api holen.
Sie können eine versteckte WebView
erstellen, indem Sie Breite und Höhe 0
einstellen und Ihre Website darauf laden. Dadurch wird Ihre Site auf ViewView
geladen und der Cache bleibt für das nächste Mal geladen.
Ich teste das. Nach dem ersten Laden von Daten in WebView
, reduziert es 70% Laden auf tatsächliche WebView
wo wir dem Benutzer zeigen wollen.
Tags und Links webview react-native