当地址为“”时,如何在WebBrowser控件中显示HTML字符串;关于:空白”;

本文关键字:HTML 显示 字符串 空白 关于 控件 地址 WebBrowser | 更新日期: 2023-09-27 18:29:39

当Web浏览器控件导航到"about:black"时,我想在其中写入一个特定的字符串(例如帮助说明),我可以使用DocumentTextForm_Load中写入我的字符串,它会自动导航到"about:brack"

webBrowser1.DocumentText = "introduction....";

但现在,如果用户刷新网络浏览器控件,它将显示一个空白页面。每当地址为"about:black"时,我希望它再次显示我的字符串。将字符串放入Web浏览器控件的最佳位置在哪里?

当地址为“”时,如何在WebBrowser控件中显示HTML字符串;关于:空白”;

文档刷新只需重新加载当前页面,因此在调用Refresh方法时不会发生NavigatingNavigatedDocumentCompleted事件。

使用NavigatingNavigated事件,您应该检查浏览器是否正在导航或导航到about:blank,然后禁用用户刷新页面的方式,包括浏览器快捷方式、浏览器上下文菜单或任何其他点,如您创建或刷新的自定义工具栏按钮和上下文菜单。

对于其他url,请再次启用它们。

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    var state = (e.Url.ToString().ToLower() == "about:blank");
    this.webBrowser1.WebBrowserShortcutsEnabled = !state;
    this.webBrowser1.IsWebBrowserContextMenuEnabled = !state;
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    var content = "Custom Content";
    if (e.Url.ToString().ToLower() == "about:blank" &&
        this.webBrowser1.DocumentText != content)
    {
        this.webBrowser1.DocumentText = content;
    }
}