1

我想实现一个功能,比如在UIWebviewiBooks 和 Amazon Kindle 上添加所选文本的注释。

我已经创建了UIMenuItem. 但是,我不知道如何实现这个方法。有人可以在这方面提供帮助吗?

我不知道在这种方法中使用什么功能来实现。谢谢。

- (void)Note:(id)sender {
    NSString *selection = [webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"]; 
}
4

1 回答 1

0

有问题的 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()"];
于 2013-01-21T16:13:32.907 回答