Wie berechnet man die Inhaltshöhe von WKWebView?

8

Für UIWebView können wir die Höhe des Inhalts erreichen:

%Vor%

Aber WKWebView hat diese Methode nicht und webView.scrollView.contentSize.height ist nicht richtig.

%Vor%

Danke für Ihre Hilfe!

    
Moonlight 21.04.2015, 09:12
quelle

4 Antworten

8

Ich habe dieses Problem mit KVO gelöst.

Fügen Sie zunächstObserver für WKWebViews Inhaltsgröße scrollView wie folgt hinzu:

%Vor%

Und als nächstes erhalten Sie die Änderung wie folgt:

%Vor%

Es ist einfach, die Inhaltshöhe von webview zu erreichen.

Vergessen Sie nicht, den Beobachter zu entfernen:

%Vor%

Ich habe diese Zeile in deinit geschrieben.

    
morizotter 18.10.2015 18:18
quelle
2

Du kannst es so bekommen:

%Vor%     
arsenius 14.05.2015 15:15
quelle
2

BEARBEITEN:

Um die bestmögliche Höhenberechnung zu erhalten, habe ich am Ende ein paar Dinge getan, um die beste Höhe zu erreichen:

  1. Ich setze die Größe der Webansicht sehr groß und lade dann den Inhalt.
  2. Sobald der Inhalt geladen ist (KVO-Benachrichtigung) verändere ich die Ansicht mit der folgenden Methode.
  3. Ich führe dann die Größenfunktion wieder aus und erhalte eine neue Größe und ändere die Größe meiner Ansicht noch einmal.

Das oben genannte hat die genauesten Ergebnisse für mich.

ORIGINAL:

Ich habe versucht, die Bildlaufansicht KVO und ich habe versucht, Javascript für das Dokument zu bewerten, mit clientHeight , offsetHeight , etc ...

Was für mich letztendlich funktionierte, ist: document.body.scrollHeight . Oder verwenden Sie scrollHeight Ihres obersten Elements, z. ein Container div .

Ich höre die loading WKWebview Eigenschaftenänderungen mit KVO:

%Vor%

Und dann:

%Vor%

Die updateWebviewFrame Implementierung:

%Vor%     
natanavra 25.12.2016 12:35
quelle
0

WKWebView hat das Laden nicht beendet , wenn didFinishNavigation heißt - Bug in WKWebView? WKWebView verwendet keine Delegierung, um Sie darüber zu informieren, wenn der Inhalt vollständig geladen wurde. Sie können einen neuen Thread erstellen, um den Status von WKWebView zu überprüfen.

%Vor%     
黄少斌 17.05.2016 07:41
quelle

Tags und Links