UIWebView execCommand剪切,复制,粘贴

时间:2013-05-18 08:01:42

标签: iphone ios objective-c ipad uiwebview

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

这是我正在使用的代码:

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

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

2 个答案:

答案 0 :(得分:5)

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

- (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 = @"";
}

答案 1 :(得分:1)

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