iOS xcode替代UIWebview didFinishLoad

时间:2014-12-27 12:39:47

标签: ios objective-c xcode uiwebview

我有一个webview,加载后,用户通过POST请求登录。登录后,我希望将它们带到网页。我的POST请求是一个URL,如下所示:

- (void)viewDidLoad {
[super viewDidLoad];
[_scoreWebView setDelegate:self];

NSMutableURLRequest *detailRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"myrul"]];

[detailRequest setHTTPMethod:@"POST"];

NSString *sendInfo =[NSString stringWithFormat:@"action=login&EMAIL=email&PASSWORD=password", nil];

NSData *infoData = [sendInfo dataUsingEncoding:NSUTF8StringEncoding];

[detailRequest setHTTPBody:infoData];

[_scoreWebView loadRequest:detailRequest];
}

此登录过程正常。但是,在我将用户发送到我的网页后,无限启动webviewdidfinishload。我知道每次加载时它都会触发。登录后是否有将用户重定向到我的页面的备用解决方案?此外,我有三个不同的页面,用户可以根据他们的输入重定向到这些页面,这只是其中一个简单。这是我的finishload方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
     //Check here if still webview is loding the content
if (webView.isLoading)
    return;
else //finished
    NSLog(@"finished loading");

NSLog(@"%@ in calendar", _thisScriptUniqueID);

NSString *fullURL=[NSString stringWithFormat:@"myurl/%@#score", _thisScriptUniqueID];

NSLog(@"%@", fullURL);


NSURL *url = [NSURL URLWithString:fullURL];

NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

[_scoreWebView loadRequest:requestObj];
}

是否有可用于将用户带到页面的其他方法,或者是否可以在viewDidLoad中包含这两种方法?

1 个答案:

答案 0 :(得分:-1)

经过大量研究后,我认为功能在服务器端可以更好地运行。我这样做是为了让相同的URL记录用户并同时将它们带到所需的页面。