好吧,你希望你的應用程序中的一個UIWebView *內,即在一個UIWebView中運行,啓動本地URL請求?那是對的嗎 ?
這可行,但你應該考慮在JavaScript中使用請求。
試試這個:
我想你已經實施的UIWebViewDelegate協議和分配委託給當前視圖控制器。
現在實行
- (BOOL) webView:(UIWebView *)webView2 shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
if ([[[request URL] absoluteString] hasPrefix:@"yourPrefix:"]) {
NSMutableURLRequest *request = [NSMutableURLRequest new];
[request setURL:[NSURL URLWithString:@"http://yourserver/xml"]];
[request setHTTPMethod:@"GET"];
[request setValue:@"YOUR NEEDED CONTENT TYPE" forHTTPHeaderField:@"Content-Type"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSLog(@"response : %@", response.description);
NSLog(@"response : %@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}];
}
return YES;
}
現在在你的JavaScript代碼,你要開始這樣做了要求:
window.location.href = "yourPrefix://";
這將啓動一個重定向到URL和本地方法被稱爲開始您的請求。
如果您不需要顯示響應,爲什麼不使用http請求(而不是UI)而不是UIWebView(它是UI元素)? –
這是一個在UIWebView中運行的混合應用程序。 –
所以用javascript做出請求並處理結果 – Wain