2

我似乎无法让用于剪切、复制、粘贴的 execCommand 在 contentEditable 设置为 true 的 UIWebView 中工作。我可以使用 selectAll 命令选择文本,但剪切、复制和粘贴不起作用。

这是我正在使用的代码:

[webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('cut', false, null)"];

我还需要做些什么来让剪贴板操作正常工作吗?

4

2 回答 2

6

根据之前的评论,剪切、复制、粘贴命令似乎不起作用,所以我设法实现了相同的操作,如下所示:

- (void)cut
{
    NSString *selection = [self.webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
    [webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('delete', false, null)"];
    [UIPasteboard generalPasteboard].string = selection;
}

- (void)paste
{
    NSString *text = [UIPasteboard generalPasteboard].string;
    [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.execCommand('insertHTML', false, '%@')", text]];
    [UIPasteboard generalPasteboard].string = @"";
}
于 2013-05-18T08:44:05.790 回答
1

我不是 100% 确定,但我不相信可以在 UIWebView 中以编程方式调用剪切、复制或粘贴。但是,您可以使用 window.getSelection() 获取选定的文本。你可以从那里做你想做的事情。

于 2013-05-18T08:11:22.790 回答