У меня есть приложение для ipad, большинство функций которого - веб-приложение. Пользовательский интерфейс - это всего лишь три UIWebView, которые загружают страницы. Каждая ссылка, по которой щелкают, перехватывается, и у меня есть переменная запроса в URL под названием «iPadTarget».
EX: http://www.somedomain.com/blah.asp?iPadTarget=2
Приведенный выше код откроется во втором веб-просмотре, потому что iPadTarget = 2.
Вот код, который выполняет это:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = [request URL];
//Extract the value from request variable 'iPadTarget' in url string.
NSString *test = [url query];
int index = [test rangeOfString:@"iPadTarget="].location;
int target = index + 11;
char c = [test characterAtIndex:target];
NSLog(@"%c",c);
if (navigationType == UIWebViewNavigationTypeLinkClicked || navigationType == UIWebViewNavigationTypeFormSubmitted || navigationType == UIWebViewNavigationTypeOther) {
if (c == '1') {
[viewOne loadRequest:request];
return NO;
} else if (c == '2') {
[viewTwo loadRequest:request];
return NO;
} else if (c == '3') {
[viewThree loadRequest:request];
return NO;
}
}
return YES;
}
Моя проблема заключается в следующем: у меня есть форма с событием onclick в кнопке:
<button onclick='window.open("someotherpage.asp?iPadTarget=2");window.open("someotherpage.asp?iPadTarget=3");'>Button</button>
Этот код ДОЛЖЕН открыть одну и ту же страницу как во втором, так и в третьем UIWebView. Тем не менее, он ничего не делает, и когда я смотрю на вывод консоли, он печатает символ бесконечно.
Извините за длинный вопрос, я буду признателен за любую помощь!