【问题标题】:Problem using WebBrowser control as editor使用 WebBrowser 控件作为编辑器的问题
【发布时间】:2010-05-03 21:08:17
【问题描述】:

我目前正在做一个项目,我使用 WebBrowser 控件作为编辑器。我打开了设计模式,它似乎正在工作。我遇到的问题是当我尝试保存文档并加载另一个文档时,它会弹出“此文档已被修改”。信息。我想做的就是这么简单

if (frontPage)
{
    frontPage = false;
    frontContent = webEditor.DocumentText;
    webEditor.DocumentText = backContent;
}
else
{
    frontPage = true;
    backContent = webEditor.DocumentText;
    webEditor.DocumentText = frontContent;
}

就像我说的每次我输入一些文本并运行此代码时,它只会弹出一条消息,说它已被修改并询问我是否要保存。我该如何解决这个问题?

【问题讨论】:

  • C# 没有 Web 浏览器控件。您是说 WinForms WebBrowser 控件吗?

标签: c# .net winforms webbrowser-control designmode


【解决方案1】:

您应该创建以下函数:

void ChangeAllowWebBrowserDrop() { webBrowser.AllowWebBrowserDrop = !webBrowser.AllowWebBrowserDrop; }

应该在每次更改 DocumentText 之前调用它。

【讨论】:

    【解决方案2】:

    你可以设置

    BodyHtml.  
    

    像这样:

    string newHTMLString="some html";
    webBrowser1.Document.Body.InnerHtml = newHTMLString;
    

    为我工作。

    【讨论】:

      【解决方案3】:

      您应该创建以下函数:

      void ChangeAllowWebBrowserDrop() {
          webBrowser.AllowWebBrowserDrop = !webBrowser.AllowWebBrowserDrop;
      }
      

      每次更改DocumentText之前都应该调用它。

      【讨论】:

        【解决方案4】:

        更好的解决方案是在实际分配 html 代码之前编写空字符串: WebBrowser1.Document.Write(string.Empty);
        WebBrowser1.DocumentText = "你的代码";

        【讨论】:

          【解决方案5】:

          我已经解决了这个问题:

          browser.Document.Write(string.Empty);  
          browser.DocumentText="Your html code"; 
          

          这是来自此链接: http://social.msdn.microsoft.com/Forums/vstudio/en-US/3a9c1965-8559-4972-95e1-da0e86cf87bb/webbrowser-strange-problem

          【讨论】:

            【解决方案6】:

            Windows 窗体加载文档流(由 DocumentText 属性使用)的方式是导航到 about:blank,这会触发文档修改消息,然后在其 DocumentComplete 事件处理程序中加载流。

            由于您已经有一个文档,您可以跳过导航并直接通过其 IPersistStreamInit 接口将流加载到现有文档中,就像 Windows 窗体在其 DocumentComplete 事件处理程序中所做的那样。

            【讨论】:

              【解决方案7】:

              试试这个webEditor.ScriptErrorsSuppressed = true;

              确保您已禁用 IE 中的脚本调试,以防您将其打开。

              【讨论】:

                猜你喜欢
                • 2013-10-12
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-12-09
                • 2021-11-20
                • 1970-01-01
                • 2011-04-11
                相关资源
                最近更新 更多