IFrame从不同域上的父URL获取参数

时间:2015-03-16 19:59:41

标签: javascript iframe

默认情况下这似乎是不可能的,因为我得到错误阻止了一个原始x的框架访问一个原始y的框架。我知道这是因为安全性,但我想允许合作伙伴整合我的iframe。 iframe位于域mysubdomain.mysite.com上并包含搜索框。一旦用户进行了搜索,它就被重定向到页面partners-domain-containing-search-results.com搜索结果也在域mysubdomain.mysite.com上,我想从url读取参数(哈希和查询字符串参数)但是我不能,因为我无法读取父url参数(来自partners-domain-containing-search-results.com)。

1 个答案:

答案 0 :(得分:0)

您应该可以使用subdomain.mysite.com中的top.location来阅读partners-domain-containing-search-results.com的父网址:

e.g。来自mysubdomain.mysite.com上托管的iframe并嵌入到partners-domain-containing-search-results.com?hello=true#blabla中,您应该可以运行:

top.location.hash
>"#blabla"
top.location.search
>"?hello=true"

注意:您无法修改其他域的位置对象,或者您将看到:

  

Uncaught SecurityError:阻止具有原点的帧   " http://domain2.com"从访问原始框架   " http://domain.com&#34 ;.协议,域和端口必须匹配。