UIWebView의 현재 URL 가져 오기
난 이미 내 현재의 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
다음은 webview 내에서 다른 링크로 이동할 때마다 URL을 가져 오는 데 사용하는 코드입니다.
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
self.url = aWebView.request.mainDocumentURL;
}
나는 또한 위의 승인 된 답변이 신뢰할 수 없다는 것을 알았습니다. 그러나 약간 수정하면 매번 작동하는 것 같습니다.
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
코드 줄 끝에 숨겨져 있으므로 ".href"를 Javascript에 추가합니다.
이것은 정확하지 않으며 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]);
}
iPhone의 Google 검색 결과를 위해 이것을 시도했습니다.
NSString* currentURL = webView.request.URL.absoluteString;
NSString* mainDocumentURL = webView.request.mainDocumentURL.absoluteString;
둘 다 같은 문자열을 반환합니다!
여기 내가 사용하는 코드 :
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[[[webView request] URL] absoluteString]]];
shouldStartLoadWithRequest
이벤트 (UIWebViewDelegate)를 사용하여 URL 업데이트를 포착합니다. request.mainDocumentURL.absoluteString
기본 웹 페이지의 URL (보통 원하는 것)을 얻을 수 있지만 request.URL.absoluteString
CSS 및 JavaScript 포함도 포함됩니다.
이것은 항상 작동합니다. .
NSString* url= [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
델리게이트 메소드 구현
- (BOOL)webView:(UIWebView *)webview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *URL = request.URL.absoluteString; NSLog(@"%@",URL);
}
URL은 정확히 필요한 것입니다.
UIWebView가 더 이상 사용되지 않으므로 WKWebview 에서 현재 URL을 얻는 것은 매우 간단합니다.
webView.url
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;
}
참고 URL : https://stackoverflow.com/questions/2491410/get-current-url-of-uiwebview
'Programming' 카테고리의 다른 글
Rails 3에서 네비게이션에 "현재"클래스를 추가하는 가장 좋은 방법 (0) | 2020.07.29 |
---|---|
어댑터에서 통화 활동 방법 (0) | 2020.07.29 |
루비는 문자열을 캡처 된 정규식 패턴으로 대체 (0) | 2020.07.28 |
Mockito 매처는 어떻게 작동합니까? (0) | 2020.07.28 |
Angular 2에서 경로를 탐색 할 때 로딩 화면 표시 (0) | 2020.07.28 |