Я полагаю, что IE делает это, манипулируя строкой запроса User-Agent
.
compatible; MSIE 7.0;
compatible; MSIE 8.0;
compatible; MSIE 9.0;
Поэтому, чтобы использовать различные механизмы рендеринга с WebBrowser, вам нужно сделать что-то подобное.К сожалению, получить доступ к User-Agent
в WebBrowser нелегко .Вы можете сделать это, если вы расширяете фактический компонент Com, а не используете элемент управления .Net.
public class ExtendedWebBrowser : WebBrowser
{
...
void BeforeNavigate(object pDisp, ref object url, ref object flags,
ref object targetFrameName, ref object postData,
ref object headers, ref bool cancel)
{
if (!headers.Contains("X-RequestFlag")
{
headers += "X-RequestFlag: true\r\n";
// append user-agent header here
headers["User-Agent"] = ...;
// cancel current request
cancel = true;
// re-request with amended details
Navigate((string)url, (string)targetFrameName, (byte[])postData,
(string)headers);
}
else
{
base.BeforeNavigate(...);
}
}
}