0

WPF の WebBrowser コントロール内に TinyMCE エディターを持つ html Web ページを読み込んでいます。以下のスクリーンショットを見ると、アイデアを得ることができます: 出力スナップショット

生の HTML 形式で TinyMCE に入力されたテキストにアクセスするために、この JavaScript 関数を HTML ページに記述しました。

 function getContent() {
    return tinyMCE.get('elm1').getContent();
 }

次のように、WPF ボタンのクリック時にこの関数を呼び出します。

    string editHtml = this.webBrowser1.InvokeScript("getContent").ToString();

そして editHtml は必要に応じて TinyMCE に入力されたテキストの html を取得します。ここで、C# コードを使用して、Web ページに tinyMCE の html を設定したいと考えています。

そのために、htmlページにjavascript関数を書きました:

function setContent(strcontent) {
    return tinyMCE.get('elm1').setContent(strcontent);
}

次のように、WPFボタンのクリックでこの関数を呼び出してみました:

string setHtml = this.webBrowser1.InvokeScript("setContent('tempinfo')").ToString();

しかし、今では次のようにエラーが発生しています: エラースナップショット

最初の図の WebBrowser コントロールの tinymce の下にある小さなボタンに注意してください。次のように、同じ setContent() を呼び出します。

<input type="button" onmousedown="setContent('tempinfo')" />

これにより、tinymce のコンテンツがテキストに設定されます: tempinfo - 必要に応じて。では、WPF ボタンをクリックして呼び出すと、なぜエラーが発生するのでしょうか?

4

1 に答える 1

0

上記のコードの最初の間違いは、InvokeScriptがメソッド名のみを受け入れ、角かっこを受け入れないことです。

string setHtml = this.webBrowser1.InvokeScript("setContent").ToString();

次に、を使用してパラメータを渡す必要があります

WebBrowser.InvokeScript Method (String, Object) 

ここを参照してください

したがって、私の呼び出しは次のようになります。

this.webBrowser1.InvokeScript("setContent","Just done").ToString();
于 2012-04-24T20:13:37.070 に答える