Saya sudah mencoba mendapatkan URL saat saya UIWebViewdengan: webview.request.URL. Sayangnya NSURLitu kosong. Ada yang salah di sini? Saya bekerja dengan Xcode 3.2.2 beta 5.
Kode di atas harus dieksekusi di UIWebViewdelegasi didStartLoad.
Saya sudah mencoba mendapatkan URL saat saya UIWebViewdengan: webview.request.URL. Sayangnya NSURLitu kosong. Ada yang salah di sini? Saya bekerja dengan Xcode 3.2.2 beta 5.
Kode di atas harus dieksekusi di UIWebViewdelegasi 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.absoluteStringkembalinil
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 shouldStartLoadWithRequestacara (UIWebViewDelegate) untuk menangkap pembaruan URL. request.mainDocumentURL.absoluteStringakan memberi Anda URL halaman web utama (yang biasanya sesuai dengan keinginan Anda), sementara itu request.URL.absoluteStringakan 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;
}