2011-02-01 45 views
1

我正在开发一个epub电子书应用程序,我将xhtml文件加载到UIWebview并且也做了分页,我需要显示带有书签的页面列表以及与该特定页面相关的一些文本名单,为此我需要从UIWebView获得文本。在iPad中从UIWebView获取可见内容

我尝试以下Javascript API

NSString *myText = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.textContent"];

但其returing完整的HTML文本,而不是特定网页的可见文本。

如何从UIWebView获取唯一可见的内容。 任何想法我怎么能做到这一点,请分享你的想法

预先感谢您

婆。

回答

0

尝试document.body.innerHTML它会在主体中获得hmm代码。但它仍然是HTML格式。

+0

谢谢你的快速回复乔纳森,我尝试过,但它给我的完整XHTML的主体内容,我只需要的XHTML内容的一部分是在UIWebView中可见。 – 2011-02-01 16:00:54

1

我得到了它的解决方案,如果任何一个需要请参考下面的代码。

function getElementFromPoint(x,y) { 
    var str ="hello"; 
    var i = 0; 
    var j = 20; 
    var x1 = parseInt(x)+j; 
    alert("x"+x1); 
    for(i = 0 ;i < 1024;i += 2) 
    { 
     var element = document.elementFromPoint(x1,i); 
     if(element.nodeName == "p" || element.nodeName == "h1" || element.nodeName == "h2" || element.nodeName == "h3") 
     { 
      str = element.innerText.trim(); 
      if(str.length <= 3) 
       continue; 
      return str; 
     } 
    } 
    return str; 
} 
getElementFromPoint(x,y); 
+0

我曾尝试过您的代码,但它不会返回我div标签,我已经传递了当前x和y偏移量的webview滚动条。 – Girish 2013-04-05 10:10:15