【发布时间】:2011-09-28 19:51:52
【问题描述】:
我一直在为iOS 平台开发一个HTML5 / Javascript webapp。我对 Objective 和 XCode 比较陌生,但我知道我的程序。我试图让 UIWebView 打开一个表单,一旦在 Safari 中提交(提交按钮),而不是在当前 UIWebView 中打开它。
建议使用以下代码在 Safari 中打开标准 <a> 标签:
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ( inType == UIWebViewNavigationTypeLinkClicked ) {
[[UIApplication sharedApplication] openURL:[inRequest URL]];
return NO;
}
return YES;
}
(原帖here)
我已尝试专门针对提交的表单调整此代码,如下所示:
- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)inType {
if ( inType == UIWebViewNavigationTypeFormSubmitted ) {
[[UIApplication sharedApplication] openURL:[request URL]];
return YES;
}
if ( inType == UIWebViewNavigationTypeFormResubmitted ) {
[[UIApplication sharedApplication] openURL:[request URL]];
return YES;
}
return YES;
}
仅供参考,我已将每个 IF 语句的返回值切换为 YES / NO,但这似乎不是问题......有什么想法吗?代码?理论? 谢谢!
【问题讨论】:
标签: javascript ios html web-applications uiwebview