防止WebBrowser控件自动添加标记
本文关键字:标记 添加 WebBrowser 控件 防止 | 更新日期: 2023-09-27 18:17:06
我使用WebBrowser
控件,并在里面添加文本,如:
some text https://www.example.com some text.
这是我的代码的方式,我添加文本和启用web浏览器编辑内容:
public partial class Form1 : Form
{
private HTMLBody _body;
public Form1()
{
InitializeComponent();
webBrowser1.Navigate("about:blank");
}
private void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
_body = ((HTMLBody)((HTMLDocument)webBrowser1.Document.DomDocument).body);
_body.contentEditable = true.ToString();
_body.innerHTML = "some text https://www.example.com some text";
}
}
如果我运行它并改变了部分链接(为键入其他东西而不是'example.com'并失去焦点),那么它会自动在我的链接周围添加标签<a>
。你可以在innerHTML属性中看到它。但这对我来说是错误的。
有办法避免这种行为吗?非常感谢!
您可以在文档中关闭自动检测url。为此,在DocumentCompleted
evnet中,在为body设置新内容后,添加这行代码:
webBrowser1.Document.ExecCommand("AutoUrlDetect", false, false);
也可以使内容可编辑而不添加mshtml.dll
的引用。要做到这一点,只需使用:
this.webBrowser1.DocumentText = @"<HTML><BODY contentEditable=""true""></BODY></HTML>";