在UIWebView </div>中显示网页时,如何关注特定的<div>标记

时间:2014-02-17 20:52:15

标签: ios objective-c uiwebview uiwebviewdelegate

我有一个HTML页面,里面有div标签,

<htmL>
   <head/>
      <body>
         <div id ="Required">
            <table>
               <tr>
                <td/>
               </tr>
            </table>
         </div>
      </body>
</html>

在使用UIWebView显示上述网站时,我需要在网页加载时立即关注div标记。所以基本上,一旦url加载到UIWebView下,用户就应该在他的iPhone上看到表格(在div标签下)。

到目前为止我尝试了什么?

-(void) ViewDidLoad()
{
   self.webView.delegate = self;
   NSURL *url = [NSURL URLWithString:@"www.nameofthewebsite.com"];
   NSURLRequest *req = [NSURLRequest requestWithURL:url];
   [self.webView loadRequest:request];

}

-(void) webViewDidFinishLoad:(UiWebView*) webView{
   self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('Required').focus()];

}

当页面加载时,我仍然没有看到我的div标记被聚焦。我也尝试使用load html string函数。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

如果您尝试让网络视图自动滚动,以使<div>位于正面和中间位置,则focus()不适合作业。 focus()告诉浏览器为用户输入准备一个元素,并且(通常)仅用于<input>个元素(及其表兄弟,如<textarea><select>

您正在寻找的功能是scrollIntoView()