【问题标题】:IE7 cross-domain iFrame Select issueIE7跨域iFrame选择问题
【发布时间】:2011-10-24 05:16:32
【问题描述】:

我有一个 iframe,其中包含一些用于数据输入的选择下拉列表。我最近开始注意到鼠标单击 iframe 中的选择元素,下拉列表没有展开。用户可以单击下拉菜单以设置焦点,然后使用键盘上的向上/向下箭头滚动内容,但单击列表旁边的箭头按钮不会使其展开并显示其内容。

嵌入此框架的父页面位于不同的域中。最初我认为这可能与 iframe 中的 javascript onfocus 事件有关。我剥离了所有的脚本,摆脱了所有的 css 并将其缩减为一个简单的静态 html 父级,其中包含一个仅包含一个选择元素的静态 html 的简单 iframe 页面。在同一台服务器上运行时,下拉菜单行为正常,但当父页面位于一个域中,而 iframe 内容位于另一个域时,选择列表无法展开。

这个问题似乎只出现在 IE7 中。我已经在 IE8 和 IE9 以及 Safari、Chrome 和 Firefox 中进行了测试,没有任何问题。我发现上周出现的几篇博客文章(下面的链接)似乎遇到了同样的问题,但没有解决方案。

http://johannes.jarolim.com/blog/2011/10/20/internet-explorer-cross-domain-iframes-and-unusable-select-boxes/

http://scrumpy-jack.com/post/11177166236/html-select-crazy-egg-ie-and-iframes-updated

有没有人找到解决这个问题的方法?

【问题讨论】:

    标签: iframe drop-down-menu internet-explorer-7 cross-domain


    【解决方案1】:

    我们通过仅针对 IE7 用户使用 JQuery 下拉菜单替换标准下拉菜单来解决此问题。我们开发了一个脚本并将其放在一些 IE 条件标签之间。

    我们迫不及待地等待 MS 发布另一个补丁!

    【讨论】:

    • 我们最终实现了类似的基于 IE 版本的解决方法。感谢您的建议,对于延迟将您的回复标记为答案感到抱歉!
    【解决方案2】:

    显然此错误是由于刚刚发布的安全更新 (2586448):

    http://support.microsoft.com/kb/2628724

    【讨论】:

      猜你喜欢
      • 2012-03-12
      • 2012-12-11
      • 2011-02-18
      相关资源
      最近更新 更多