我有一个 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 机器上?