这可能是一个疯狂的问题,但我希望在 iOS 应用程序中使用 UIButton,当您单击它时,它会依次单击在隐藏的 UIWebView 中加载的网页上的超链接。
该链接也可以由 javascript 调用触发我只是不确定是否可以从 UIButton 到 UIWebView?
谢谢亚伦
这可能是一个疯狂的问题,但我希望在 iOS 应用程序中使用 UIButton,当您单击它时,它会依次单击在隐藏的 UIWebView 中加载的网页上的超链接。
该链接也可以由 javascript 调用触发我只是不确定是否可以从 UIButton 到 UIWebView?
谢谢亚伦
您可以从 UIButton 点击处理程序调用 UIWebView 内的 javascript,直接调用处理 href 点击的 javascript 函数。
我建议只使用带有提交按钮的 HTML 表单。我已经这样做了,而且要简单得多。就像是:
- (NSString *)makeSubmitForm
{
NSMutableString *ms = [NSMutableString string];
[ms appendString:@"<p><form action=\"formentry\">"];
[ms appendString:@"<input style=\"submit\" type=\"submit\" value=\"Submit\" />"];
[ms appendString:@"<input type=\"hidden\" name=\"fieldtype\" value=\"submit\" />"];
[ms appendString:@"</form>"];
return ms;
}
然后在你的 UIWebViewDelegate 中寻找它。下面的代码会执行此操作,并检查是否存在其他表单输入内容(如文本字段输入)
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *surl = [[request URL] absoluteString];
NSRange ner = [surl rangeOfString:@"formentry?"];
if (ner.location != NSNotFound){
NSString *argstr = [surl substringFromIndex:ner.location+ner.length];
NSMutableDictionary *md = [NSMutableDictionary dictionary];
NSArray *args = [argstr componentsSeparatedByString:@"&"];
for (int i=0; i < args.count; i++){
NSString *keyval = [args objectAtIndex:i];
NSArray *pair = [keyval componentsSeparatedByString:@"="];
[md setObject:[pair objectAtIndex:1] forKey:[pair objectAtIndex:0]];
}
[MyDelegate tellItWhatever:md];
}
return NO;
}