从iPad中的UIWebView获取可见内容

时间:2011-02-01 14:34:38

标签: javascript iphone ipad uiwebview xhtml

我正在开发一个epub电子书应用程序,我将xhtml文件加载到UIWebview并且还进行了分页,我需要显示带有书签的页面列表,其中包含与列表中该特定页面相关的一些文本,为此我需要从UIWebView获取文字。

我尝试了以下Javascript API

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

但是它会修复完整的html文本,而不是特定网页的可见文本。

如何从UIWebView获取唯一可见的内容。 任何想法如何实现这一点,请分享您的想法

提前谢谢

婆。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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