webBrowser1.InvokeScript中的错误

时间:2012-04-23 16:07:50

标签: c# wpf com tinymce

我正在加载一个在WPF的WebBrowser控件中有TinyMCE编辑器的html网页。你可以在屏幕截图下面看到这个想法: output snapshot

要以原始html格式访问在TinyMCE中输入的文本,我在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();

但现在我得到的错误如下: error snapshot

请注意第一张图中WebBrowser控件中的小按钮下方的小按钮。 它调用相同的setContent(),如下所示:

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

并根据需要将tinymce内容设置为text:tempinfo。 那么为什么在通过WPF按钮单击调用时会发生错误?

1 个答案:

答案 0 :(得分:0)

上面代码中的第一个错误是InvokeScript只接受方法名称 - 没有括号:

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

接下来我应该使用

传递参数
WebBrowser.InvokeScript Method (String, Object) 

see here

所以我的电话现在看起来像这样:

this.webBrowser1.InvokeScript("setContent","Just done").ToString();