Zaten mevcut URL'yi alma çalıştı UIWebViewile: webview.request.URL. Ne yazık ki NSURLboştu. Burada bir sorun mu var? Xcode 3.2.2 beta 5 ile çalışıyorum.
Yukarıdaki kod, UIWebViewtemsilcide çalıştırılmalıdır didStartLoad.
Zaten mevcut URL'yi alma çalıştı UIWebViewile: webview.request.URL. Ne yazık ki NSURLboştu. Burada bir sorun mu var? Xcode 3.2.2 beta 5 ile çalışıyorum.
Yukarıdaki kod, UIWebViewtemsilcide çalıştırılmalıdır didStartLoad.
Yanıtlar:
Bunu deneyebilirsin:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
JS üzerinden window.location benim için güvenilir bir şekilde çalışmadı, ancak bu işe yaradı:
currentURL = currentWebView.request.URL.absoluteString;
Kredi: http://mohrt.blogspot.com/2008/10/getting-url-from-uiwebview.html
Mark Sands
İşte web görünümünde farklı bir bağlantıya her gittiğinizde url'yi almak için kullandığım kod:
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
self.url = aWebView.request.mainDocumentURL;
}
webView.request.URL.absoluteStringdöndü dönerken çalıştınil
Ben de yukarıdaki onaylanmış cevabın güvenilir olmadığını buldum. Ancak küçük bir değişiklikle her seferinde işe yarıyor gibi görünüyor:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
Kod satırının sonunda gizlendiğinden Javascript'e ".href" eklendiğine dikkat edin.
Bu doğru değil ve sıfır döndürür:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
Ancak, aşağıdaki kod bir URL alabilir, ancak url mevcut URL olmayabilir:
NSString *url = _webView.request.URL.absoluteString;
Doğru olan:
NSString *currentURL = [_webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSURL *currentURL = [[webView request] URL];
NSLog(@"%@",[currentURL description]);
}
Bunu iPhone'daki google arama sonuçları için denedim:
NSString* currentURL = webView.request.URL.absoluteString;
NSString* mainDocumentURL = webView.request.mainDocumentURL.absoluteString;
Her ikisi de aynı dizeyi döndürür!
UIWebView kullanımdan kaldırıldığı için, WKWebview'un mevcut url'yi alması çok basittir.
webView.url
shouldStartLoadWithRequestURL güncellemelerini yakalamak için olayı (UIWebViewDelegate) kullanıyorum. request.mainDocumentURL.absoluteStringsize ana web sayfasının URL'sini (normalde istediğiniz şeydir) alırken request.URL.absoluteString, CSS ve JavaScript içerir.
Bu her zaman işe yarar. .
NSString* url= [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
IN Swift , bu deneyin
func webViewDidFinishLoad(webView: UIWebView){
println(WebView.request?.mainDocumentURL)
}
WKWebView ve UIWebview'un güncel URL'sini almak için
İşte kod.
if (self.wkWebView) {
NSString *URL = self.wkWebView.title;
}else if(self.uiWebView) {
NSString *URL = self.uiWebView.request.title;
}