是否可以通过编程方式调用;选择全部";然后";“复制”;在iPhone上的UIWebView上?

是否可以通过编程方式调用;选择全部";然后";“复制”;在iPhone上的UIWebView上?,iphone,ios,uiwebview,copy,Iphone,Ios,Uiwebview,Copy,我想提供一个复制按钮,用户可以从UIWebView快速复制文本。当我握住手指并将其移动到边缘时,我可以毫无问题地选择所有文本,然后点击“复制”。有没有办法通过编程实现这一点?您可以使用一些javascript在UIWebView中获取文本: NSString *innerText = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]; 它将为您提供HTML文本,包括标记和所有内容…我没有尝试过

我想提供一个复制按钮,用户可以从UIWebView快速复制文本。当我握住手指并将其移动到边缘时,我可以毫无问题地选择所有文本,然后点击“复制”。有没有办法通过编程实现这一点?

您可以使用一些javascript在UIWebView中获取文本:

NSString *innerText = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];

它将为您提供HTML文本,包括标记和所有内容…

我没有尝试过,但这应该可以获得已选择的文本:

NSString *webViewString = [webView stringByEvaluatingJavaScriptFromString:@"(function (){return window.getSelection().toString();})();"];
[[UIPasteboard generalPasteboard] setString:webViewString]; //Copy to pasteboard
NSString *pasteBoardString = [[UIPasteboard generalPasteboard] string]; //Paste from pasteboard

只需搜索另一个javascript片段以选择全部。。。您应该很快就能找到一个。

谢谢您的回复。遗憾的是,关键不在于获取html标记,而在于获取内容如果使用innerText而不是innerHTML,则获取的是文本而不是html标记。它工作得很好。我试过了,但之后我无法将内容粘贴到纯UITextView或富文本邮件窗口中。