3

我有一个 WPF 应用程序,在 WindowsFormsHost 中使用 Windows 窗体 WebBrowser 控件。此控件中的页面使用 jquery 和 jscrollpane 创建自定义滚动条。使用 CSS,我将 jspArrowDown 背景设置为渐变。在 XP(而且似乎只有 XP)中,显示渐变存在问题。在 jspArrowUp 元素中使用了相同的渐变背景,没有任何问题。更奇怪的是,同一框上的 IE 本身可以完美地显示渐变背景。有没有人遇到过这种独特的情况或与 Windows 窗体 WebBrowser 控件类似的情况?如果是这样,它是如何解决的?

相同的 CSS

filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#CCCCCC');

相同的用户代理

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)

不同的视觉结果

IE 正确

Windows 窗体 Web 控件

更新

在 Windows 7 环境中出现此错误后,我进行了更多挖掘并意识到这确实不是环境是 XP 的事实,而是环境没有安装 IE 9.0 的事实。无论我在什么机器上运行,WebBrowser 控件都运行 IE 7.0,但是如果机器安装了 IE 9,它将使用 Trident 5.0 引擎而不是 IE 7 和 IE 8 附带的 Trident 4.0 引擎进行渲染。所以问题Trident 4.0 实际上正在发生。有什么方法可以将 Trident 5.0 安装到 XP 机器上?

4

1 回答 1

0

Webbrowser 是 IE API 的包装器。它被困在 IE7 渲染引擎上。

您可以尝试使用更好的版本。Rick 将帮助您做到这一点:http ://www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

于 2012-09-12T19:53:51.200 回答