有人可以帮我解决这个问题 - 我有2个应用程序AAA和BBB。 AAA的主页包含显示应用程序BBB的iFrame。当我登录AAA时,应该使用相同的登录详细信息登录BBB(单点登录)和AAA主页的页面加载,BBB的主页也应该加载到iFrame中。 我尝试使用javascript访问BBB登录页面的表单元素,输入登录数据并提交。但浏览器给我一个'访问被拒绝'错误。我做了一点阅读,并发现浏览器不允许跨域通信。 有人能告诉我如何实现这个目标吗?
答案 0 :(得分:2)
好的,我只是扩展了我的子到父跨域域库,以支持父母到子的通信。它要求您可以从孩子到父母进行沟通。
我正在进行的子到父通信使用由父(我称之为xdParent)托管的跨域文件,该文件加载在子内部的iframe中。然后,此页面(xdParent)调用parent.parent.whateverItWantsTo
所以为了与较低的iframe沟通,我正在这样做:
希望这是可以理解的。不幸的是,我不想花时间为你创建一个简洁的例子,但如果你有任何问题,请告诉我。
答案 1 :(得分:1)
我认为我的回答here可能会有所帮助。
HTML5 supports messaging但HTML5目前仅支持有限的浏览器支持。
答案 2 :(得分:1)
不要那样做。
这不是一个好主意。
当他们修复涉及跨域iframe的另一个安全漏洞时,您可能会受损。
答案 3 :(得分:0)
您可以使用JSONP绕过跨域限制。有一个很好的解释over here。
我多次使用JSONP跨域使用JavaScript。