使用javascript突出显示UIWebview中的文本(持续)

使用javascript突出显示UIWebview中的文本(持续),javascript,ios,uiwebview,highlighting,Javascript,Ios,Uiwebview,Highlighting,我需要保存并突出显示所选文本 我得到的范围如中所述 但是,如何使用上述存储值在下一个会话中突出显示用户选择的文本 注:我通过了 但在iOS UIWebView上,在web视图中加载大量html内容会耗费大量时间。。。。 应用程序冻结:- Rangy的序列化程序模块中也没有多个高亮显示 因此,我要寻找的是,根据存储的范围值的开始和结束偏移量高亮显示。如果您正在渲染html文件,那么您可能可以按照以下方式进行渲染。它高亮显示用户文本,然后通过重写html文件将其保存回去,从而保留高亮显示 NSSt

我需要保存并突出显示所选文本

我得到的范围如中所述

但是,如何使用上述存储值在下一个会话中突出显示用户选择的文本

注:我通过了

但在iOS UIWebView上,在web视图中加载大量html内容会耗费大量时间。。。。 应用程序冻结:- Rangy的序列化程序模块中也没有多个高亮显示


因此,我要寻找的是,根据存储的范围值的开始和结束偏移量高亮显示。

如果您正在渲染html文件,那么您可能可以按照以下方式进行渲染。它高亮显示用户文本,然后通过重写html文件将其保存回去,从而保留高亮显示

 NSString *uuid = [[NSUUID UUID] UUIDString];

 NSString *insertSpan = [NSString stringWithFormat:@"var range = window.getSelection().getRangeAt(0);var selectionContents   = range.extractContents();alert(selectionContents); var span                = document.createElement(\"span\");span.appendChild(selectionContents);span.setAttribute(\"class\",\"uiWebviewHighlight\");span.style.backgroundColor  = \"#99FF00\";span.setAttribute(\"id\", \"%@\");range.insertNode(span);",uuid];
 [webView stringByEvaluatingJavaScriptFromString:insertSpan];

 NSString *document = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"];

 NSData *data = [document dataUsingEncoding:NSUTF8StringEncoding];

 [data writeToFile:<file location> atomically:YES];

是否有方法存储用户选定文本的节点、起始值和结束值,以便在下一个会话中突出显示该文本?请参阅此链接:和