【问题标题】:Getting iframe's src value after dynamically changing it in IE在 IE 中动态更改 iframe 后获取 iframe 的 src 值
【发布时间】:2011-05-07 09:17:30
【问题描述】:

在我使用 document.getElementById('iframe1').src = newsrc 更新 iframe 的 src 属性然后尝试读取它之后:alert(document.getElementById('iframe1').src); 我得到的 src 是旧源而不是设置的新源。为什么会这样,我怎样才能得到真正的当前 src 值?

【问题讨论】:

    标签: javascript ajax internet-explorer iframe attributes


    【解决方案1】:

    如果src 指向不同的域,则无法获取。这是一项安全功能。我猜 IE 实现该安全功能的方式是返回 src 的旧值

    更正:在阅读了 Pekka 的 cmets 之后,我继续进行了测试。您也可以在http://jsfiddle.net/pMtZC/ 尝试它(注意:警报)。

    在我测试过的所有浏览器(Chromium、Firefox 4、IE 8)上,更改后的 src 属性返回得很好。如果你设置它,它将返回你设置的值。但是,如果用户在 iframe 中导航(显然),它不会改变。你用的是什么版本的IE?

    【讨论】:

    • 几乎:在我知道的任何浏览器中,src 属性 永远不会改变,即使它是本地 URL。它是一个纯 HTML 属性。 IFrame 的location 属性会随着当前位置而变化,但正如您所说,如果它不在本地域上,则无法访问。
    • @Pekka:很好,从来不知道。我想这是另一个需要记住的 IE 特性,如果我不得不再次使用 iframe...
    • 我不认为这是特定于 IE 的。 AFAIK,src 属性在任何浏览器中都不会改变 - 但如果我错了,请纠正我。
    【解决方案2】:

    欺骗它认为它不在本地域中。

    【讨论】:

      猜你喜欢
      • 2014-05-02
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多