Javascript 在iPad中从UIWebView获取可见内容

Javascript 在iPad中从UIWebView获取可见内容,javascript,iphone,ipad,uiwebview,xhtml,Javascript,Iphone,Ipad,Uiwebview,Xhtml,我正在开发一个epub电子书应用程序,我将xhtml文件加载到UIWebview中并进行了分页,我需要显示书签页面列表,其中包含一些与列表中特定页面相关的文本,为此我需要从UIWebview获取文本 我尝试了以下JavascriptAPI NSString*myText=[webView stringByEvaluatingJavaScriptFromString:@“document.documentElement.textContent”] 但是它会返回完整的html文本,而不是特定网页的可

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

我尝试了以下
Javascript
API

NSString*myText=[webView stringByEvaluatingJavaScriptFromString:@“document.documentElement.textContent”]

但是它会返回完整的html文本,而不是特定网页的可见文本

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

先谢谢你


shiva。

尝试
document.body.innerHTML
它将在body中获取hmm代码。但它仍然是HTML格式的

尝试
document.body.innerHTML
它将在body中获取hmm代码。但它仍然是HTML格式的

我找到了解决方案,如果需要,请参考下面的代码

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);
函数getElementFromPoint(x,y){ var str=“你好”; var i=0; var j=20; var-x1=parseInt(x)+j; 警报(“x”+x1); 对于(i=0;i<1024;i+=2) { var元素=document.elementFromPoint(x1,i); if(element.nodeName==“p”| | element.nodeName==“h1”| | element.nodeName==“h2”| | element.nodeName==“h3”) { str=element.innerText.trim();
如果(str.length我得到了它的解决方案,如果需要任何一个,请参考下面的代码

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);
函数getElementFromPoint(x,y){ var str=“你好”; var i=0; var j=20; var-x1=parseInt(x)+j; 警报(“x”+x1); 对于(i=0;i<1024;i+=2) { var元素=document.elementFromPoint(x1,i); if(element.nodeName==“p”| | element.nodeName==“h1”| | element.nodeName==“h2”| | element.nodeName==“h3”) { str=element.innerText.trim();
如果(str.length谢谢你的快速回复Jonathan,我试过了,但它给了我完整的xhtml正文内容,我只需要在UIWebView中可见的xhtml内容的一部分。谢谢你的快速回复Jonathan,我试过了,但它给了我完整的xhtml正文内容,我只需要在UIWebView中可见的xhtml内容的一部分。我我尝试了你的代码,但它没有返回div标记,我通过了webview滚动的当前x&y偏移量。我尝试了你的代码,但它没有返回div标记,我通过了webview滚动的当前x&y偏移量。