2012-09-28 49 views
0

这可能是一个疯狂的问题,但我期待在iOS应用程序中使用UIButton,当您点击它时,它将依次单击加载在隐藏的UIWebView中的网页上的超链接。可以使用UIButton在UIWebView中执行超链接单击吗?

链接也可以通过JavaScript调用触发我只是不确定是否可以从UIButton到UIWebView?

感谢阿龙

回答

0

我只是使用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; 
    }