0

为什么以下 javascript 命令不能设置 UIWebView html 富文本编辑器中使用的 RGB 十六进制字体颜色?

RGB 十六进制中的颜色更改为标准的蓝色、黄色、红色等,例如:

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.execCommand('forecolor', false, '#407ec9')"]];

在html中生成

<font color="#0000ff"> HELLO WORLD </font>
4

2 回答 2

0

解决了。这是我的解决方法答案:

NSString *color = @"#407ec9";
NSString *text = [self.webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];

[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.execCommand('insertHTML', false, '%@')", [NSString stringWithFormat:@"<font color=\"%@\">%@</font>", color, text]]];
于 2013-08-07T07:08:46.570 回答
0

以下适用于 Chrome、Safari、Firefox 和 Opera,甚至 Internet Explorer 9:

<input type="button" onclick="document.execCommand('forecolor', false, '#407ec9');" value="Change" />
<div contenteditable="true">Test</div>

http://jsfiddle.net/M5j8b/

它也适用于 iOS 6 的 Mobile Safari。

我没有看到你的stringByEvaluatingJavaScriptFromString电话有任何明显的问题。我怀疑有些东西没有正确逃脱。

我会尝试在页面上创建一个简单的 JavaScript 函数并调用它:

function foo() {
    document.execCommand('forecolor', false, '#407ec9')
}

如果这不起作用,我怀疑是另一个问题。

于 2013-08-07T05:14:14.770 回答