我似乎无法让用于剪切、复制、粘贴的 execCommand 在 contentEditable 设置为 true 的 UIWebView 中工作。我可以使用 selectAll 命令选择文本,但剪切、复制和粘贴不起作用。
这是我正在使用的代码:
[webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('cut', false, null)"];
我还需要做些什么来让剪贴板操作正常工作吗?
我似乎无法让用于剪切、复制、粘贴的 execCommand 在 contentEditable 设置为 true 的 UIWebView 中工作。我可以使用 selectAll 命令选择文本,但剪切、复制和粘贴不起作用。
这是我正在使用的代码:
[webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('cut', false, null)"];
我还需要做些什么来让剪贴板操作正常工作吗?
根据之前的评论,剪切、复制、粘贴命令似乎不起作用,所以我设法实现了相同的操作,如下所示:
- (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 = @"";
}
我不是 100% 确定,但我不相信可以在 UIWebView 中以编程方式调用剪切、复制或粘贴。但是,您可以使用 window.getSelection() 获取选定的文本。你可以从那里做你想做的事情。