【问题标题】:Error in webBrowser1.InvokeScriptwebBrowser1.InvokeScript 中的错误
【发布时间】:2012-04-23 16:07:50
【问题描述】:

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

为了访问在 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();

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

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

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

这会将 tinymce 内容设置为 text: tempinfo - 根据需要。 那么为什么通过WPF按钮点击调用时会出现错误呢?

【问题讨论】:

标签: c# wpf com tinymce


【解决方案1】:

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

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

接下来我应该使用

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

see here

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多