0

我正在 WPF 的 WebBrowser 控件中加载一个带有 TinyMCE 编辑器的 html 网页。您可以通过以下屏幕截图获得想法: 输出快照

为了访问在 TinyMCE 中以原始 html 格式输入的文本,我在 html 页面中编写了这个 javascript 函数:

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

我在 WPF 按钮单击时调用此函数,如下所示:

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

并且 editHtml 根据需要抓取在 TinyMCE 中输入的文本的 html。现在我想通过C#代码在网页中设置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 内容设置为 text: 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 回答