【问题标题】:Changing "active content" security settings on WPF WebBrowser control更改 WPF WebBrowser 控件上的“活动内容”安全设置
【发布时间】:2019-09-23 18:58:37
【问题描述】:

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

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

有什么方法可以更改 WebBrowser 控件的设置以不显示该警告消息? IE 也有类似的设置,但不会延续到这个控件中。

【问题讨论】:

    标签: wpf activex wpf-controls


    【解决方案1】:

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

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

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

    【讨论】:

    • 哇...我喜欢 Internet Explorer 所谓的安全性,它很容易被骗;)
    • 这些变通办法似乎都不适合我。也许是 Windows 7 :(
    • 这对我有用,但是在应用程序启动后的第一个页面加载时,通常会出现明显的延迟。
    • “c$”中的“c”是否代表C:驱动器?因此,如果 HTML 文件位于 D: 驱动器中,它将是 d$ ?
    【解决方案2】:

    希望这可能对某人有所帮助,即使这个问题有点老了......

    根据"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
    

    【讨论】:

    • 发布旧版 IE 支持的建议答案永远不会太老! :)
    • 在 Visual Studio .sln 中将 js 和 css 文件设置为“始终复制”对我有用……终于。
    • 我确认 它可以在带有 WebBrowser 控件的 Windows 10 上运行 加载承载 Flash 对象的 HTML 页面。但是,使用 IP 地址和私有共享的解决方案不起作用 - 已加载主 Flash 电影,但无法从 ActionScript 动态加载内容。
    【解决方案3】:

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

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

    【讨论】:

    • 主要是因为它给我们增加了很多工作,尤其是找到 DOCTYPE 声明的结尾。我可能想象它比实际工作更多,但现在我们只是将 browser.Source 设置为本质上修改过的文件路径,因此实际加载和解析文件会增加一些工作量。另外,WebBrowser 控件似乎应该对此进行某种设置,以防默认安全设置不能满足您的需求。
    【解决方案4】:

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

    这在 Win7 上也适用于我。

    【讨论】:

      猜你喜欢
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多