有问题的 JavaScript 旨在为您提供在您的选择中突出显示的文本。
我不确定在元素上运行 toString 是否会返回正确的信息。以下方法将返回突出显示的文本并将其保存到变量中。
function getHighlightedString() {
var text = window.getSelection();
myAnchorOffset = text.anchorOffset;
myFocusOffset = text.focusOffset;
myHighlightLength=myFocusOffset-myAnchorOffset;
if(myHighlightLength<0)
{
myHighlightLength*=-1;
temp = myAnchorOffset;
myAnchorOffset = myFocusOffset;
myFocusOffset = temp;
}
selectedText = text.anchorNode.textContent.substr(myAnchorOffset, myFocusOffset - myAnchorOffset);
}
当您将此方法加载到 webview 中时
NSString myHighlightedText = [webView stringByEvaluatingJavaScriptFromString:@"getHighlightedString()"];