【问题标题】:System.Windows.WebBrowser captures image of page as its rendered in quirks modeSystem.Windows.WebBrowser 在 quirks 模式下捕获页面图像
【发布时间】:2012-08-05 16:20:27
【问题描述】:

我正在使用以下链接将网页捕获为图像Convert webpage to image from ASP.NET。

在几个页面上,我遇到的问题是创建的图像与实际页面不同,但与以怪异模式显示的页面相同(页面混乱)。 有没有办法以编程方式更改控件的行为(无需进行任何注册表更改)

【问题讨论】:

  • 看起来改变WebBrowser渲染模式的唯一方法——除了改变注册表——是在你的页面的HTML代码中添加文档兼容性标签。请查看更新的答案。

标签: c# webbrowser-control quirks-mode ie8-compatibility-mode


【解决方案1】:

根据来自 Internet Explorer 团队的official blog 的post,更改WebBrowser 控件的兼容模式的唯一两种方法是:

  1. 将FEATURE_BROWSER_EMULATION 键添加到您的应用程序的注册表中
  2. 使用!DOCTYPE和/或meta标签在网页的HTML代码中指定兼容模式

请注意:WebBrowser 渲染页面的默认模式可能取决于机器上安装的 Internet Explorer 版本,因为它使用 Internet Explorer 的组件。对于 IE8,WebBrowser 默认以 IE7 标准模式呈现页面。

由于更现代的渲染崩溃(实际上可能与直接在 IE 中打开页面时使用的不同),您的应用程序的部分页面可能会退回到旧模式(怪癖模式) ) 由页面上的某些内容引起。

要解决所描述的问题,您可以使用 WebBrowser 类的 DocumentText 属性更改损坏页面的 HTML 代码,以明确指定适合页面的 document compatibility(即确保正确呈现)。

【讨论】:

    猜你喜欢
    • 2014-03-16
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2023-04-08
    相关资源
    最近更新 更多