我遇到过多个关于使用元标记更改互联网探索的渲染模式/版本的博客,因为IE9或10是多个浏览器的组合。
<meta http-equiv="X-UA-Compatible" content="IE=Edge"
&GT;
但对我来说,这个标签似乎只能在完整的Internet Explorer浏览器中运行,但不能在.net浏览器控件中运行。我在观察中是否正确?
我必须覆盖浏览器控件选择的默认浏览器版本(从7到8)。更改/添加注册表参数不是一个选项。
答案 0 :(得分:2)
只有当这是<head>
部分中的第一个元素时,此元标记才能正常工作。
答案 1 :(得分:1)
如果您通过META标记或HTTP响应标头指定X-UA-Compatible
值,文档模式将更改为指定的值,就像在桌面IE中一样。
与使用F12开发人员工具更改浏览器模式不同,文档模式不会影响发送到服务器的User-Agent
字符串。在完全修补的IE版本中,X-UA-Compatible
设置确实会影响User-Agent
属性中显示给JavaScript的navigator.userAgent
,但如果更改document mode
设置,则该值不会更改使用F12开发人员工具。
您可以通过查看
来探索发送X-UA-Compatible
的结果
和
第一页未指定文档模式(因此获取默认值),而后者指定文档模式为IE9。如果单击文档模式链接,即使请求标头中的用户代理未更改,您也可以看到文档的模式对X-UA-Compatible
指令敏感。
相反,要更改应用程序中Web浏览器控件的浏览器模式,必须设置FEATURE_BROWSER_EMULATION
注册表项,指定可执行文件的名称和所需的模式。
客户要求&#34;不能进行注册表更改&#34;傻傻的。可以合理地说:&#34;我们不希望任何影响IE或其他程序的注册表操作。&#34;说:&#34;我们根本不想要任何注册表操作&#34;这是不合理的。考虑到仅仅运行可执行文件的行为会导致对注册表的更改。