0
我有一個ipad應用程序,其中大部分功能都是一個web應用程序。 UI只是三個加載頁面的UIWebViews。每個被點擊的鏈接都被攔截,並且我在名爲「iPadTarget」的URL中有一個請求變量。使用Javascript在不同的UIWebViews中打開一個頁面的問題
EX:http://www.somedomain.com/blah.asp?iPadTarget=2
上面的代碼將在所述第二web視圖打開,因爲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中。但是,它什麼都不做,當我查看控制檯輸出時,它會無限打印char c。
對不起,冗長的問題,我會感謝任何幫助!