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

时间:2009-06-02 16:17:13

标签: wpf activex wpf-controls

我正在整理一个WPF应用程序,一旦文件保存为.MHT或.HTML,用户就可以通过WebBrowser控件查看PowerPoint文件。问题是文件包含ActiveX控件,默认情况下WebBrowser控件会在每次加载这些文件时显示警告,并说“为了保护您的安全,您的Web浏览器限制此文件显示可以访问您的活动内容计算机“。

我在网上看到了几个不同的地方谈论将the mark of the web放到每个页面中,但在这种情况下这对我来说真的不起作用,因为内容作者可以控制文件,而不是开发人员,我宁愿不告诉他们必须在记事本中打开每个文件,并为每个文件添加标记。

有没有办法只更改WebBrowser控件的设置以不显示该警告消息? IE具有类似的设置,但它不会延续到此控件中。

4 个答案:

答案 0 :(得分:17)

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

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

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

答案 1 :(得分:13)

希望这可能会帮助某人,即使问题有点老......

根据"The Mark Of The Web"的链接,添加评论

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

正好在HTML标签下工作。

我的index.html位于HTML文件夹中,使用WebBrowser控件在WPF项目中将“内容”设置为“始终复制”。 执行期间文件的地址如下所示:

file:///E:/SRC_2013/WebBrowserTestApp/WebBrowserTestApp/bin/Debug/HTML/index.html

答案 2 :(得分:2)

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

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

答案 3 :(得分:1)

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

这对我来说也适用于Win7。