改变;“活动内容”;WPF WebBrowser控件上的安全设置

改变;“活动内容”;WPF WebBrowser控件上的安全设置,wpf,activex,wpf-controls,Wpf,Activex,Wpf Controls,我正在组装一个WPF应用程序,一旦文件被保存为.MHT或.HTML,它将允许用户通过WebBrowser控件查看PowerPoint文件。问题是这些文件包含ActiveX控件,默认情况下,每次我加载这些文件时,WebBrowser控件都会显示一条警告:“为了帮助保护您的安全,您的web浏览器已限制此文件显示可能访问您计算机的活动内容。” 我在网上看到过一些不同的地方谈论要在每个页面中添加内容,但在这种情况下,这对我来说确实不起作用,因为内容作者控制着文件,而不是开发人员,我不想告诉他们必须在记事

我正在组装一个WPF应用程序,一旦文件被保存为.MHT或.HTML,它将允许用户通过WebBrowser控件查看PowerPoint文件。问题是这些文件包含ActiveX控件,默认情况下,每次我加载这些文件时,WebBrowser控件都会显示一条警告:“为了帮助保护您的安全,您的web浏览器已限制此文件显示可能访问您计算机的活动内容。”

我在网上看到过一些不同的地方谈论要在每个页面中添加内容,但在这种情况下,这对我来说确实不起作用,因为内容作者控制着文件,而不是开发人员,我不想告诉他们必须在记事本中打开每个文件,并在每个文件中添加web标记


有没有办法只更改WebBrowser控件的设置而不显示该警告消息?IE有一个类似的设置,但它没有进入这个控件。

为什么不在加载文件时在文件的开头动态插入MOTW


顺便说一句,谢谢你的提问:我不知道“网络标记”,它解决了我的一个问题:)

我们最终找到了一个不错的解决方案,尽管我仍然希望控件本身有某种设置。要加载文档,我们只需将
browser.Source
设置为以下内容:


file://127.0.0.1/c$/path/to/the/file(其中路径是不带C:\,例如C$/Users/jschuster/mydocument.html的绝对路径)


无论出于何种原因,该控件都将以该格式显示URL引用的文件,而不显示警告。

file://127.0.0.1/c$/path/to/the/file(其中路径是不带C:\,例如C$/Users/jschuster/mydocument.html的绝对路径)


这对我在Win7上也很有效。

希望这可能会帮助一些人,即使这个问题有点老了

根据链接,添加评论,如

<!-- saved from url=(0016)http://localhost -->

主要是因为它为我们的目的增加了很多工作,特别是查找DOCTYPE声明的结尾。我可能认为这需要更多的工作,但现在我们只是将browser.Source设置为一个修改过的文件路径,所以实际加载和解析文件需要更多的工作。另外,看起来WebBrowser控件应该对此进行一些设置,以防默认的安全设置不能满足您的需要。哇。。。我喜欢Internet Explorer的所谓安全性,它很容易被欺骗;)这两种变通办法似乎都不适合我。可能是windows 7:(这对我来说很有效,但在应用程序启动后的第一次页面加载时,通常会出现明显的延迟。“c$”中的“c”是否代表c:驱动器?因此,如果HTML文件位于D:驱动器中,它将是D$?对于传统IE支持,发布建议的答案永远不会太旧!:)将js和css文件设置为“始终复制”在Visual Studio中。sln为我工作了…最后。我确认它在Windows 10上工作,WebBrowser控件加载承载Flash对象的HTML页面。具有IP地址和私有共享的解决方案不起作用,尽管已加载主Flash电影,但无法从ActionScript动态加载内容。
file:///E:/SRC_2013/WebBrowserTestApp/WebBrowserTestApp/bin/Debug/HTML/index.html