Ho una WKWebView che carica una pagina in iOS. Se l'utente si sposta a un'altra pagina nel WKWebView, posso ottenere l'URL hanno cliccato come segue:Ottieni l'URL di tutti gli articoli TAPpati con WKWebView
var clickedUrl = String()
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
clickedUrl = webView.URL?.absoluteString as String! // GETS URL OF CURRENT PAGE LOADED
}
Se l'utente va su YouTube, clickedUrl = http://www.youtube.com, che è grande. TUTTAVIA ... Se l'utente fa clic su un video - niente. E un altro video - niente. Non ottengo l'URL del video cliccato. Lo stesso accade su Vimeo e su vari altri siti.
Ho fatto qualche ricerca qui e ho trovato altri post, e sembrerebbe che questo abbia qualcosa a che fare con 'WKWebView non riporta la fine del caricamento sui frame non principali', ma nessuna spiegazione su come ottenere all'URL che è stato caricato. Immagino che questo abbia qualcosa a che fare con siti come YouTube che stanno usando JavaScript per navigare verso altre pagine sul loro sito e caricarle.
Ho anche provato webView(_:decidePolicyForNavigationAction:)
. Questa funzione è più prolissa, ma questa funzione non rileva l'URL dei link cliccati all'interno di siti come YouTube. Quello che voglio fare è ottenere l'URL di tutto ciò che l'utente fa clic. Immagino di dover approfondire NSURL o NSURLRequest per ottenere questo, ma non riesco a capire come farlo. Qualsiasi aiuto sarebbe molto apprezzato.
Scuse ... invitiamo a consultare il duplicato/domanda simile: Detect when WKWebView has finished loading EVERY time
Ciao Andre, hai risolto questo problema? –
Purtroppo no. Sono tornato su UIWebView per progredire con il mio progetto. Ci riproverà quando verrà la prossima versione di Swift per vedere se è stata riparata. L'ho sollevato come problema nel forum di supporto di WKWebView su Apple. – AT3D
Possibile duplicato di [Rileva quando WKWebView ha terminato di caricare OGNI volta] (http://stackoverflow.com/questions/29603010/detect-when-wkwebview-has-finished-loading-every-time) – Moritz