关于iframe中的js跨站

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

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

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

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

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

  

知识共享许可协议
作品Tim Zhang创作,采用知识共享署名 3.0 中国大陆许可协议进行许可。 。
原文地址:https://www.cnblogs.com/ccdc/p/2289364.html