0

次の javascript コマンドが、UIWebView html リッチ テキスト エディターで使用される RGB 16 進数でフォントの色を設定できないのはなぜですか?

RGB 16 進数の色は、標準の青、黄、赤などに変更されます。次に例を示します。

[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 に答える