IOS使用变量接收方法webViewDidFinishLoad
我有两个webView,第一个是加载主机名,当webViewDidFinishLoad加载完成时,我使用此方法获取当前url的一部分:IOS使用变量接收方法webViewDidFinishLoad,ios,xcode,webview,uiwebview,webviewdidfinishload,Ios,Xcode,Webview,Uiwebview,Webviewdidfinishload,我有两个webView,第一个是加载主机名,当webViewDidFinishLoad加载完成时,我使用此方法获取当前url的一部分: //Method that take a part of currentUrl of a webView - (NSString *) webViewGetLocation { NSString *html = [dnsWebView stringByEvaluatingJavaScriptFromString:@"document.body.inn
//Method that take a part of currentUrl of a webView
- (NSString *) webViewGetLocation {
NSString *html = [dnsWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
if ([html rangeOfString:@"Account"].location != NSNotFound) {
//Take loaded ip
NSString *currentURL = [dnsWebView stringByEvaluatingJavaScriptFromString:@"window.location.href"];
NSLog(@"IP TAKEN: %@", currentURL);
//Do substring to find part of ip, until the port
NSString *ip = [[self splitString: currentURL key: @"/login"] objectAtIndex: 0];
NSLog(@"IP AND PORT: %@", ip);
}
return ip;
}
现在一切都好
现在在第二个webView中,我加载了一个url,该url应该由ip组成,我在前面的方法中采用了该url,第二部分不变
我的问题是:既然我在方法“webViewDidFinishLoad”中启动了没有返回值的方法“webViewGetLocation”,我如何获取该url(返回ip)
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[self webViewGetLocation];
}
我试图将返回的方法“webViewGetLocation”的ip保存在appDelegate变量中,但在viewDidLoad中它是空的。这很简单,在
.h
文件中创建一个NSURL
类型的类属性
然后在-(void)webViewDidFinishLoad:(UIWebView*)webView中设置它{
NSURL*url=[NSURL URLWithString:@“folder/file.html”relativeToURL:baseURL];
在同一类中,可以调用方法“webViewDidFinishLoad”更多次,例如每个webview一次???Denis,我尝试您的解决方案,但不起作用,因为我的第二个webview在第一个完成加载之前启动,所以我没有再次显示结果值。好的,这是周末开始,我将向mondän发送一个示例