Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在iframe中从父级到子级的跨域访问_Javascript_Html_Iframe_Cross Domain - Fatal编程技术网

Javascript 在iframe中从父级到子级的跨域访问

Javascript 在iframe中从父级到子级的跨域访问,javascript,html,iframe,cross-domain,Javascript,Html,Iframe,Cross Domain,有人能帮我吗- 我有两个申请AAA和BBB。AAA的主页包含一个iFrame,其中显示应用程序BBB。当我登录到AAA时,应使用相同的登录详细信息登录到BBB(单点登录),并且在AAA主页的pageload上,BBB主页也应加载到iFrame中。 我尝试使用javascript访问BBB登录页面的表单元素,以输入登录数据并提交。但是浏览器给我一个“访问被拒绝”错误。我读了一些书,了解到浏览器不允许跨域通信。 有人能告诉我如何才能做到这一点吗?我想我的回答可能会有所帮助 但HTML5目前对浏览器的

有人能帮我吗- 我有两个申请AAA和BBB。AAA的主页包含一个iFrame,其中显示应用程序BBB。当我登录到AAA时,应使用相同的登录详细信息登录到BBB(单点登录),并且在AAA主页的pageload上,BBB主页也应加载到iFrame中。 我尝试使用javascript访问BBB登录页面的表单元素,以输入登录数据并提交。但是浏览器给我一个“访问被拒绝”错误。我读了一些书,了解到浏览器不允许跨域通信。 有人能告诉我如何才能做到这一点吗?

我想我的回答可能会有所帮助

但HTML5目前对浏览器的支持有限。

我想我的答案可能会有所帮助


但是HTML5目前只有有限的浏览器支持。

您可以使用JSONP绕过跨域限制。这是一个很好的解释


我已经多次使用JSONP跨域使用JavaScript。

您可以使用JSONP绕过跨域限制。这是一个很好的解释


我已经多次使用JSONP跨域使用JavaScript。

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

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

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

  • 子项必须承载其自己的跨域文件(我将此称为xdChild)
  • 当子iframe加载时,它将在iframe中加载xdParent
  • xdParent然后向父对象注册其窗口对象(即parent.parent.someReservedVariable=window;)
  • 当父级希望对子级执行某些操作时,父级使用someReservedVariable在xdParent内部加载xdChild
  • xdChild然后对子页面执行某些操作(即parent.parent.doWhateverItWantsTo)

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

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

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

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

  • 子项必须承载其自己的跨域文件(我将此称为xdChild)
  • 当子iframe加载时,它将在iframe中加载xdParent
  • xdParent然后向父对象注册其窗口对象(即parent.parent.someReservedVariable=window;)
  • 当父级希望对子级执行某些操作时,父级使用someReservedVariable在xdParent内部加载xdChild
  • xdChild然后对子页面执行某些操作(即parent.parent.doWhateverItWantsTo)
  • 希望这是可以理解的。不幸的是,我不想花时间为您创建一个简明的示例,但如果您有任何问题,请告诉我

    不要那样做

    这不是个好主意

    当他们修复另一个涉及跨域iFrame的安全漏洞时,您可能会崩溃。

    不要这样做

    这不是个好主意


    当他们修复另一个涉及跨域iFrame的安全漏洞时,您可能会崩溃。

    这是最好的答案!我花了三天的时间想让它发挥作用,都是死路一条,然后我从你那里找到了这个,该死的,它就像冠军一样。太好了,你救了我不放弃!这已经不起作用了。我会帮你们其他人省去麻烦的。天才的解决方案!这是最好的答案!我花了三天的时间想让它发挥作用,都是死路一条,然后我从你那里找到了这个,该死的,它就像冠军一样。太好了,你救了我不放弃!这已经不起作用了。我会帮你们其他人省去麻烦的。天才的解决方案!