【问题标题】:Internet Explorer (only) breaks on iframeInternet Explorer(仅)在 iframe 上中断
【发布时间】:2013-05-07 23:54:57
【问题描述】:

http://midcityeast.com/iframe.html 有一个指向 midcityeast.crowdmap.com 的 iframe:

<html>
  <body>
    <iframe src="https://midcityeast.crowdmap.com/" width="1000" height="1200" frameborder="0"              
       scrolling="yes" class="iframe-class"></iframe>
  </body>
 </html>

这在大多数浏览器中都可以正常工作,但在 Vista 和使用 MSIE 9 的 Windows 7 上的 MSIE 中会产生一个空白页面,然后出现 503 错误。

深入了解 - F12 跟踪网络活动 - 我看到 MSIE 请求 https://midcityeast.crowdmap.com/ 超过 400 次,每次得到 200-ok 响应和空白响应正文,响应大约 500 个字符。在大约 400 个这样的请求之后,服务器会发送一个 503,可能是作为一种速率限制措施。

相比之下,MacOSX/Chrome 只请求 midcityeast.crowdmap.com 两次,并得到它需要的东西。该页面在 Windows 和 Mac 上的 Chrome 和 Firefox 中运行良好。

是否有解决此问题的方法或解决方法?我们有 MSIE 上的人,但不能轻易让他们使用其他浏览器。

【问题讨论】:

  • 我无法直接访问 IE,但我会看看使用 IE 时的请求和响应标头。我在想有什么东西会触发网站认为它需要刷新(由于跨域而没有发送 cookie?)。
  • 是的。我在 SO 上看到了一些关于由于 MSIE 的限制性更强的隐私政策而没有在 MSIE 的 iframe 上发送/接收 cookie 的参考资料 - 正在调查。

标签: internet-explorer iframe


【解决方案1】:

我可以访问 IE,我 99% 确信这与 cookie 的受限规则有关。当第一个请求进入 midcityeast.crowdmap.com 时,服务器会设置一个带有值的 cookie cmgatekeeper。然后发生重定向,允许加载内容。

IE: How to handle cross-domain cookies? 有更多关于它的信息。他们建议使用您在服务器上托管的代理来处理所有通信,但这在 AJAX 的 Web 应用程序中可能具有挑战性。

您可能希望 IT 管理员为第三方 cookie 添加例外。或者可能使用允许使用 Javascript 进行嵌入的服务,或者不需要使用此 cookie。

【讨论】:

  • 当然。在 MSIE 中转到jsfiddle.net/VUff9,等待大约 1 分钟,看到 503 错误。然后,通过 MSIE->Options->Privacy,将策略滑块设置为接受所有 cookie,然后 MSIE 工作。我将通过 javascript 检查嵌入。
猜你喜欢
  • 2011-06-17
  • 2011-06-23
  • 2010-09-11
  • 1970-01-01
  • 2018-12-16
  • 2012-12-18
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多