난 이미 내 현재의 URL 점점 시도 UIWebView
와를 : webview.request.URL
. 불행히도 NSURL
비어있었습니다. 여기에 문제가 있습니까? Xcode 3.2.2 베타 5로 작업하고 있습니다.
위의 코드는 UIWebView
델리게이트 에서 실행되어야합니다 didStartLoad
.
난 이미 내 현재의 URL 점점 시도 UIWebView
와를 : webview.request.URL
. 불행히도 NSURL
비어있었습니다. 여기에 문제가 있습니까? Xcode 3.2.2 베타 5로 작업하고 있습니다.
위의 코드는 UIWebView
델리게이트 에서 실행되어야합니다 didStartLoad
.
답변:
이것을 시도해 볼 수 있습니다.
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
JS를 통한 window.location은 나를 위해 안정적으로 작동하지 않았지만 다음과 같이 작동했습니다.
currentURL = currentWebView.request.URL.absoluteString;
크레딧 : http://mohrt.blogspot.com/2008/10/getting-url-from-uiwebview.html
Mark Sands
다음은 webview 내에서 다른 링크로 이동할 때마다 URL을 가져 오는 데 사용하는 코드입니다.
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
self.url = aWebView.request.mainDocumentURL;
}
webView.request.URL.absoluteString
반환nil
나도 위의 승인 된 답변이 신뢰할 수 없음을 발견했습니다. 그러나 약간의 수정으로 매번 작동하는 것 같습니다.
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
Javascript에 ".href"가 추가 된 점에 유의하십시오. 이것은 코드 줄의 끝에 숨겨져 있습니다.
이것은 올바르지 않으며 nil을 반환합니다.
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
그러나 아래 코드는 URL을 가져올 수 있지만 URL은 현재 URL이 아닐 수 있습니다.
NSString *url = _webView.request.URL.absoluteString;
올바른 것은 다음과 같습니다.
NSString *currentURL = [_webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSURL *currentURL = [[webView request] URL];
NSLog(@"%@",[currentURL description]);
}
shouldStartLoadWithRequest
URL 업데이트를 잡기 위해 이벤트 (UIWebViewDelegate)를 사용 합니다. request.mainDocumentURL.absoluteString
기본 웹 페이지의 URL (일반적으로 원하는 URL)을 가져 request.URL.absoluteString
오며 CSS 및 JavaScript 포함을 포함합니다.
IN 스위프트 ,이 시도
func webViewDidFinishLoad(webView: UIWebView){
println(WebView.request?.mainDocumentURL)
}
WKWebView 및 UIWebview의 현재 URL을 얻으려면
다음은 코드입니다.
if (self.wkWebView) {
NSString *URL = self.wkWebView.title;
}else if(self.uiWebView) {
NSString *URL = self.uiWebView.request.title;
}