Javascript 在iPad中从UIWebView获取可见内容
我正在开发一个epub电子书应用程序,我将xhtml文件加载到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文本,而不是特定网页的可
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偏移量。