关于iframe中的js跨站

本文介绍了一种使用iframe实现跨站登录并刷新父页面的方法。通过设置回调页面接收登录后的参数,进而执行父页面的刷新操作,有效解决跨域限制问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  iframe中的js跨站的问题很是头痛,关于js跨站的方法可以参考 wujiajun1020

  这里结合我遇到的情况讲讲我的处理方法,我的情况是要在各个站点中调用其中某一个站点的登录页,来达到统一登录的目的(这里详述单点登录了)。在不同站点下调用某一个站点的登录页面,想了想还是用iframe吧,iframe还是很强大的。于是用js写了一个遮罩效果的dialog,用iframe把登录框引过来,登录后iframe中的js刷新父页面(模仿了一下百度,iframe登录,刷新父页面)。由于跨站iframe中的js不能执行,也就不能刷新父页面了。

  回想做sina的api接口时,也是弹出一个iframe的授权页面,授权完成后回调,刷新这个页面,那个iframe怎么能刷新。关键就在“回调”(暂且这么称,不知道是否正确),它回调时其实就是将url定向到了我的服务器上一个回调页了,这个页面时他的sdk中的页面,在回调中把参数给一同传过来了,回调页面根据参数做出响应,授权信息正确,则刷父窗口。

  那我的解决方案就有了,在请求站点中写一个响应的页面供登录成功后回调,把的iframe中url定向到此页面,根据参数做出处理输出js刷新父页面,这样就解决了。

  本方法只能在,所有站点都在我有一定的修改权限下才能完成,比如我们修改然成功登录后回调某个页面。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值