X-UA-兼容;不能在C#WebBrowser控件中工作

本文关键字:控件 工作 C#WebBrowser 兼容 不能 X-UA- | 更新日期: 2023-09-27 18:20:11

我在winforms WebBrowser控件中加载了网页。该页面需要在IE8模式下呈现,所以我将X-UA-Compatible设置为IE=8:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=8" >
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="PRAGMA" content="NO-CACHE" />

不幸的是,当我检查用户代理时,我仍然有MSIE 7.0。X-UA-Compatible被忽视的原因是什么。当我直接在IE9中打开我的页面时,一切都很好——文档模式切换到IE8。

我的用户代理:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3)

X-UA-兼容;不能在C#WebBrowser控件中工作

"X-UA-Compatible"只影响WebBrowser控件的内容模式,而不会影响它将发送的UserAgent标头。(参见https://blogs.msdn.microsoft.com/patricka/2015/01/12/controlling-webbrowser-control-compatibility/)

此外,UserAgent标头是HTTP请求的一部分,在服务器开始发送响应时,该请求已经传输,包括任何"X-UA-Compatible"值。