【发布时间】: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 也会收到 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"> - 这样就放弃了微软简历列表的想法。
该站点运行的是 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