我正在编写一个简单的可视化应用程序,我有一个小问题:
webBrowser.Version
返回Build: 9600 Major: 11
,尽管我无法使用现代CSS3功能绘制圆圈。下面是我得到的HTML代码和输出。我尝试了在谷歌上找到的各种方法,似乎没有任何工作。删除了不必要的代码,只留下了在webBrowser中不起作用的部分。
哦,顺便说一句,它在独立IE中打开时有效。也试过`border-radius:50%
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Main Window</title>
<style>
.circle {
border-radius: 10px;
width: 20px;
height: 20px;
background: blue;
}
</style>
</head>
<body>
<div class="circle"></div>
</body>
</html>
答案 0 :(得分:3)
这是因为WebBrowser类模拟IE,因此将HKEY设置为模拟中使用的IE版本。
以下是一些建议或替代方案。
<meta http-equiv="X-UA-Compatible" content="IE=10" />
将上述内容添加到您的HTML中,它会尝试强制浏览器在IE10中显示内容。
找到以下HKEY的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
并将您的应用更改或添加到像这样的值
FEATURE_BROWSER_EMULATION "myAppName.exe"=10000
要执行与上述相同的操作,但在代码中,请使用以下内容:
RegistryKey registrybrowser = Registry.LocalMachine.OpenSubKey
(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);
registrybrowser.SetValue("myAppName.exe", 10000, RegistryValueKind.DWord);
答案 1 :(得分:0)
我认为WebBrowser卡在IE7或IE8上。几年前我尝试了一些这些黑客来改变它的版本:
https://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version
另外Use latest version of Internet Explorer in the webbrowser control