【问题标题】:IE 11 duplicate X-UA-Compatible tag in DotNetNukeDotNetNuke 中的 IE 11 重复 X-UA 兼容标签
【发布时间】:2018-12-15 08:38:26
【问题描述】:

在我们的一个网站上,当访问任何在 IE 11(或 10)中具有 recaptch 的表单时,recaptcha 不起作用。我们发现,在除 Edge 之外的所有 IE 版本中 - 添加了重复的 X-UA-Compatible 元标记。

我们已经在页面上添加了<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />,但在 IE 10 及更低版本中,它会在 head 标记之后立即添加以下内容。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
<![CDATA[<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >]]>

这显然是在标记中我们自己的标记之前,因此似乎覆盖了我们仍然存在的设置。

我们已经尝试了很多任务

  • 禁用 Google 跟踪代码管理器
  • 删除谷歌分析
  • 禁用第 3 方模块

我们甚至在完全相同的服务器上克隆了我们的网站。临时域完美运行。但是一旦我们将 dns 指向临时站点 - 问题仍然存在。

我们假设它可能与Microsoft's Compatibility View 有关。通过添加它以被 IE(浏览器级别设置)绕过,一切都按预期工作 - 但这不是我们客户网站的解决方案。

但奇怪的是,即使在 Chrome 中,如果您更改用户代理字符串 Chrome 也会收到 &lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"&gt; - 这样就放弃了微软简历列表的想法。

该站点运行的是 DNN 7.4.2,我们升级到 8.0.4 - 问题仍然存在。我已经扫描了 DNN 的两个源代码库,但似乎没有任何迹象表明存在问题。

因此,此问题会禁用我们所有客户的联系我们表单 - 但仅适用于 IE 中的用户。我和我的团队完全不知所措。我希望这里有人能提供一些信息来帮助解决这个问题。

【问题讨论】:

  • 它必须已经在母版页标记中。你应该从你的母版页中删除它。并且只在你需要它的 web 表单中使用它。理想情况下,你应该停止使用 x-ua 元标记,并将现有标记转换为 html5 标准。要找出网页应用了哪种 IE 仿真模式... f12>Emulation 选项卡.... 例如。 IE8, x-ua meta tag, IE11, default, IE7 , 用户兼容性列表。
  • DotNetNuke 不使用母版页。我检查了我们的皮肤和来源,但找不到注射的地方。

标签: internet-explorer dotnetnuke dotnetnuke-7 x-ua-compatible


【解决方案1】:

我们似乎找到了答案,而且它带有第三方模块。我知道我们禁用了该模块(仅管理员权限)并且上周没有工作,但一定是 IE 缓存的一部分。我尝试关闭模块的权限并让 reCaptcha 正常工作。

我们正在使用 EasyDNNGallery - 我看到他们打电话给 https://apis.google.com/js/plusone.js - 我不能一字不差地说 plusone.js 是罪魁祸首 - 我只是在寻找任何其他可能会干扰的谷歌参考。

这是有道理的,因为如果我们克隆了站点 - EasyDNNGallery 没有被激活,因为它是域级别的激活。

最后,由于误报,我们一直在兜圈子。总是重试测试!

【讨论】:

    猜你喜欢
    • 2012-05-23
    • 2011-05-15
    • 2015-11-06
    • 2013-01-14
    • 2013-12-05
    • 2013-08-04
    • 1970-01-01
    • 2013-03-04
    • 2015-06-15
    相关资源
    最近更新 更多