加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 覆盖web.config中针对特定页面和框架的X-UA兼容设置

发布时间:2020-12-15 04:14:56 所属栏目:百科 来源:网络整理
导读:我有一个.Net Web应用程序,其中包含一个web.config设置,强制Internet Explorer关闭兼容模式并使用最新版本的IE: system.webServer httpProtocol customHeaders add name="X-UA-Compatible" value="IE=Edge" / /customHeaders /httpProtocol/system.webServe
我有一个.Net Web应用程序,其中包含一个web.config设置,强制Internet Explorer关闭兼容模式并使用最新版本的IE:
<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-UA-Compatible" value="IE=Edge" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

但是,此应用程序包含需要兼容模式的旧页面.在我的测试中,只有当X-UA-Compatible设置为IE = 5时才能正常显示.

有没有办法覆盖单个页面的web.config设置?

我尝试过的很多东西都没有用过:

>包括< meta http-equiv =“X-UA-Compatible”content =“IE = 5”/>在页面本身,作为< head>之后的第一个标记
>添加X-UA兼容:IE = 5到响应头.不幸的是,它还发送了X-UA-Compatible:IE = Edge标头,并且那个’赢了’.
>更改<!DOCTYPE>.我尝试了各种各样的选择.
>在DOCTYPE之前添加注释
>重新编写页面以符合标准.这显然是最好的解决方案,但有问题的页面是一个复杂的映射应用程序,重写将需要几个月的时间.

更新
当我称之为“一个复杂的地图应用程序”时,我应该说“一只老鼠的框架和桌子”.事实证明,框架部分与解决方案相关.

解决方法

我终于通过将此代码放在每页的Page_Load()中来解决这个问题,该页面是该页面框架集的一部分(总共大约十几页).
Response.ClearHeaders();
Response.AddHeader("X-UA-Compatible","IE=5");

我一直在假设框架集页面将继承主页面中的设置,但显然不是.只是将它放在主页上不起作用,我不得不把它放在每个页面/框架上.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读