【问题标题】:Is it possible to find a cross-domain iframe's new URL after a redirect?重定向后是否可以找到跨域 iframe 的新 URL?
【发布时间】:2010-10-23 08:36:34
【问题描述】:

我正在尝试在我网站的另一个子域上发布应用程序的登录表单。这是我没有源代码访问权限的第三方应用程序。

我知道由于same origin policy,您无法访问跨域 iframe 的大部分功能。然而,我需要访问的只是在 iframe 中被重定向到(通过 JavaScript)的 URL。它有一个我想通过的会话令牌。

这似乎是足够安全的,可以允许,但我还没有找到方法来做到这一点。我正在使用 jQuery,并且我已经尝试过 $('iframe').contents(),但我似乎对该对象根本没有权限。我还检查了$('iframe').attr('src'),但它仍然是预重定向 URL。还有其他方法吗?

【问题讨论】:

  • 事实上看起来是不可能的。

标签: iframe cross-domain


【解决方案1】:

不,您无权访问 iframe 中的任何属性。您只能访问外部定位和样式属性。

这就是为什么使用框架如此痛苦的原因。我通常只在我不在乎它们里面做了什么的时候才使用它们。

你不能做一个服务器端的身份验证和令牌传递吗?不是让客户端进行身份验证,您可以不在您的服务器上执行此操作吗?您可能需要做一些额外的工作来创建 HTTP 请求并解析响应,但可以避免任何 iframe 问题。

底线是 iframe 可能不是最好的依赖(尤其是在涉及跨浏览器功能时)用于身份验证等重要事情。

【讨论】:

    【解决方案2】:

    试试这个example(方法2),作者在第一个内部设置另一个iframe,在原始域中加载一个页面。 允许内部页面调用外部父级上的 javascript,因为它们加载在同一个域中。 只需使用适当的参数加载内页,即可将其传递给父级。

    【讨论】:

      猜你喜欢
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 2023-04-07
      • 2020-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多