禁用wpf webbrowser安全警告

时间:2018-03-12 23:46:35

标签: c# wpf webbrowser-control

我的app中有一个WebBrowser控件。它从apllicaions的当前目录中加载.mht个文件。但是,我收到一条安全警告说:To help protect your security,your web browser has restricted this file from showing active content ..我在SO和msdn上尝试了几乎所有可用的解决方案......我试过这个:

public void HideScriptErrors(WebBrowser wb, bool Hide)
{
     FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
     if (fiComWebBrowser == null) return;
     object objComWebBrowser = fiComWebBrowser.GetValue(wb);
     if (objComWebBrowser == null) return;
     objComWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objComWebBrowser, 
     new object[] { Hide });
}

并在browser.Navigated事件中调用它,但没有结果......有任何帮助吗?

1 个答案:

答案 0 :(得分:2)

这是因为适用于IE(和WebBrowser)的系统设置,避免它的一种方法可能是在网络上托管mht文件。

编辑:

我们在WebBrowser控件中提供帮助,但为了做到这一点,我们将其分发为HTML页面,并将此标题添加到每个文件的顶部

 <!-- saved from url=(0014)about:internet -->

它被称为“网络标记”,请参阅Will The Mark of the Web always ensure IE runs local HTML file它会阻止警告,虽然它无法解决MHT的问题,但它是一种合适的选择。