Saya sudah mencoba mendapatkan URL saat saya UIWebView
dengan: webview.request.URL
. Sayangnya NSURL
itu kosong. Ada yang salah di sini? Saya bekerja dengan Xcode 3.2.2 beta 5.
Kode di atas harus dieksekusi di UIWebView
delegasi didStartLoad
.
Saya sudah mencoba mendapatkan URL saat saya UIWebView
dengan: webview.request.URL
. Sayangnya NSURL
itu kosong. Ada yang salah di sini? Saya bekerja dengan Xcode 3.2.2 beta 5.
Kode di atas harus dieksekusi di UIWebView
delegasi didStartLoad
.
Jawaban:
Anda bisa mencoba ini:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
window.location melalui JS tidak berfungsi dengan andal untuk saya, tetapi ini berhasil:
currentURL = currentWebView.request.URL.absoluteString;
Kredit: http://mohrt.blogspot.com/2008/10/getting-url-from-uiwebview.html
Mark Sands
berikut kode yang saya gunakan untuk mengambil url setiap kali Anda menavigasi ke tautan berbeda dalam tampilan web:
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
self.url = aWebView.request.mainDocumentURL;
}
webView.request.URL.absoluteString
kembalinil
Saya juga menemukan bahwa jawaban yang disetujui di atas tidak dapat diandalkan. Tetapi dengan sedikit modifikasi, sepertinya berfungsi setiap saat:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
Perhatikan penambahan ".href" ke Javascript karena ini tersembunyi di akhir baris kode.
Ini tidak benar, dan akan mengembalikan nol:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
Namun, kode di bawah ini bisa mendapatkan URL, tetapi url mungkin bukan URL saat ini:
NSString *url = _webView.request.URL.absoluteString;
Yang benar adalah:
NSString *currentURL = [_webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSURL *currentURL = [[webView request] URL];
NSLog(@"%@",[currentURL description]);
}
Mencoba ini untuk hasil pencarian google di iPhone:
NSString* currentURL = webView.request.URL.absoluteString;
NSString* mainDocumentURL = webView.request.mainDocumentURL.absoluteString;
Keduanya mengembalikan string yang sama!
Karena UIWebView tidak digunakan lagi, untuk WKWebview mendapatkan url saat ini sangat sederhana.
webView.url
Saya menggunakan shouldStartLoadWithRequest
acara (UIWebViewDelegate) untuk menangkap pembaruan URL. request.mainDocumentURL.absoluteString
akan memberi Anda URL halaman web utama (yang biasanya sesuai dengan keinginan Anda), sementara itu request.URL.absoluteString
akan menyertakan CSS dan JavaScript.
Ini selalu berhasil. .
NSString* url= [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
DI Swift coba ini,
func webViewDidFinishLoad(webView: UIWebView){
println(WebView.request?.mainDocumentURL)
}
Untuk mendapatkan URL WKWebView dan UIWebview saat ini
Ini kodenya.
if (self.wkWebView) {
NSString *URL = self.wkWebView.title;
}else if(self.uiWebView) {
NSString *URL = self.uiWebView.request.title;
}