Ich habe eine Website, die Javascript verwendet, die angular verwendet, um zu kontrollieren, was Sie auf der Website sehen. So wird http://somewebsite.com/#page1 angezeigt und wenn Sie auf eine Registerkarte klicken, ändert sich die Position zu http://somewebsite.com/#page2. Es wird kein aktuelles Reload auf der Webseite geben und daher wird func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
nicht ausgelöst. Wie können Sie diese Hash-Änderungen abfangen?Wie erkennen Sie Hash-Änderungen in WKWebView?
Natürlich kann Apple, da der Safari-Webbrowser diese Änderungen in der Adressleiste anzeigen kann.
-Update 19.33:
habe ich einige der Forschung. Unter Verwendung von window.onhashchange
im Safari-Browser wird dies jedoch ausgelöst, in der WKWebView nicht. Tauchen tiefer Ich benutze das folgende Javascript, um den Dokumentstandort href jede Sekunde zurückzugeben.
window.setInterval(function(){ alert(document.location) }, 1000);
Wenn diese Warnung in WKWebView lesen zeigt nie, dass die Lage ändert, während in Safari Sie http://somewebsite.com/#page1 und http://somewebsite.com/#page2 sehen. Es scheint, dass WKWebView diese Funktion nicht unterstützt, die extrem nervig ist.