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

我知道由于同一来源政策,您无法访问跨域iframe的大多数功能。但是,我需要访问的是在iframe中重定向到(通过JavaScript)的URL。它有一个我想要传递的会话令牌。

这似乎是可以安全到允许的东西,但我还没有办法做到这一点。我正在使用jQuery,我尝试过 $('iframe')。contents(),但我似乎对该对象没有任何权限。我还检查了 $('iframe')。attr('src'),但它仍然是预重定向网址。还有另一种方式吗?

有帮助吗?

解决方案

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

这就是框架如此痛苦的原因。如果我不在乎他们内心做了什么,我通常只会使用它们。

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top