Zaten mevcut URL'yi alma çalıştı UIWebView
ile: webview.request.URL
. Ne yazık ki NSURL
boştu. Burada bir sorun mu var? Xcode 3.2.2 beta 5 ile çalışıyorum.
Yukarıdaki kod, UIWebView
temsilcide çalıştırılmalıdır didStartLoad
.
Zaten mevcut URL'yi alma çalıştı UIWebView
ile: webview.request.URL
. Ne yazık ki NSURL
boştu. Burada bir sorun mu var? Xcode 3.2.2 beta 5 ile çalışıyorum.
Yukarıdaki kod, UIWebView
temsilcide ç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.absoluteString
dö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
shouldStartLoadWithRequest
URL güncellemelerini yakalamak için olayı (UIWebViewDelegate) kullanıyorum. request.mainDocumentURL.absoluteString
size 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;
}