UI WebView의 현재 URL 가져오기
나는 이미 나의 현재 URL을 얻으려고 시도했습니다.UIWebView
포함:webview.request.URL
불행하게도 그NSURL
비어 있었습니다.여기 무슨 문제라도 있나요?저는 Xcode 3.2.2 베타 5로 일하고 있습니다.
위의 코드는 다음에서 실행되어야 합니다.UIWebView
위임한didStartLoad
.
JS를 통한 window.location은 저에게 안정적으로 작동하지 않았지만, 이것은 다음과 같습니다.
currentURL = currentWebView.request.URL.absoluteString;
신용: http://mohrt.blogspot.com/2008/10/getting-url-from-uiwebview.html
다음은 웹 뷰 내에서 다른 링크로 이동할 때마다 URL을 가져오는 코드입니다.
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
self.url = aWebView.request.mainDocumentURL;
}
Matt의 버전은 훨씬 깨끗합니다.저는 모두에게 이것 대신 저것을 사용하는 것을 추천합니다.
사용해 볼 수 있습니다.
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
저도 위의 승인된 답변이 신뢰할 수 없다는 것을 알게 되었습니다.그러나 약간의 수정을 가하면 매번 작동하는 것처럼 보입니다.
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
자바스크립트에 ".href"를 추가하는 것을 주목하세요. 왜냐하면 이것은 코드 줄의 끝에 숨겨져 있기 때문입니다.
이것은 올바르지 않으며 0을 반환합니다.
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;
둘 다 같은 문자열을 반환합니다!
UI WebView는 더 이상 사용되지 않으므로 WK WebView에서 현재 URL을 가져오는 것은 매우 간단합니다.
webView.url
여기 내가 사용하는 코드:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[[[webView request] URL] absoluteString]]];
나는 사용합니다.shouldStartLoadWithRequest
이벤트(UIWebViewDelegate)를 클릭하여 URL 업데이트를 캡처합니다. request.mainDocumentURL.absoluteString
기본 웹 페이지의 URL(일반적으로 사용자가 원하는 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은 당신이 정확히 필요로 하는 것입니다.
스위프트에서 이걸 시도해 보세요.
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
'programing' 카테고리의 다른 글
ASP.NET MVC에서 페이지화를 수행하려면 어떻게 해야 합니까? (0) | 2023.06.10 |
---|---|
윈도우즈 서비스의 "실행 파일 경로" 수정 (0) | 2023.06.10 |
Angular/cli 개발 서버 c9.io 를 실행할 때 "잘못된 호스트 헤더"가 표시됨 (0) | 2023.06.05 |
장고의 aggregate() 대 주석() (0) | 2023.06.05 |
ngModel을 사용하여 양식 컨트롤을 상위 formGroup 디렉티브에 등록할 수 없습니다. (0) | 2023.06.05 |