gpt4 book ai didi

javascript - iframe 中父级到子级的跨域访问

转载 作者:行者123 更新时间:2023-11-28 16:38:32 25 4
gpt4 key购买 nike

有人可以帮我解决这个问题吗-我有 2 个应用程序 AAA 和 BBB。 AAA 的主页包含一个显示应用程序 BBB 的 iFrame。当我登录 AAA 时,应使用相同的登录详细信息登录 BBB(单点登录),并且在 AAA 主页的页面加载时,BBB 的主页也应加载到 iFrame 中。我尝试使用javascript访问BBB登录页面的表单元素以输入登录数据并提交。但浏览器给我一个“访问被拒绝”错误。我看了一点,发现浏览器不允许跨域通信。有人可以告诉我如何实现这一目标吗?

最佳答案

好的,我刚刚扩展了我的子到父跨域库以支持父到子通信。它要求您可以从 child 到 parent 进行沟通。

我正在进行的子对父通信使用由父级托管的跨域文件(我将其称为 xdParent),该文件加载到子级内的 iframe 中。该页面(xdParent)然后调用parent.parent.whateverItWantsTo

因此,为了与较低的 iframe 进行通信,我正在这样做:

  1. 子级必须托管自己的跨域文件(我将其称为 xdChild)
  2. 当子 iframe 加载时,它会在 iframe 中加载 xdParent
  3. xdParent 然后向父级注册其窗口对象(即parent.parent.someReservedVariable = window;)
  4. 当父级想要对子级执行某些操作时,父级使用 someReservedVariable 将 xdChild 加载到 xdParent 中
  5. xdChild 然后对子页面执行某些操作(即parent.parent.doWhateverItWantsTo)

希望这是可以理解的。对您来说不幸的是,我不想花时间为您创建一个简洁的示例,但如果您有任何疑问,请告诉我。

关于javascript - iframe 中父级到子级的跨域访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2407105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com