从iframe访问父URL?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

如果iframe页面与父页位于同一个域,那么如果我这样做,它就会工作:

parent.document.location
parent.window.document.location
parent.window.location
parent.document.location.href

...或者其他类似的组合,因为获得相同信息的方法似乎有多种。

不管怎样,这就是问题所在。我的iframe和主页在同一个域上,但是它不在同一个子域上。所以,例如,我有

http://www.mysite.com/pageA.html

然后我的iframe URL是

http://qa-www.mysite.com/pageB.html

提问于
用户回答回答于

你说得对。在使用iframes时,子域仍然被认为是单独的域。可以使用postMessage(...),但是其他的JS API却被故意地变得不可访问。

用户回答回答于

如果只需要主页的URL(即浏览器URL),可以尝试如下:

var url = (window.location != window.parent.location)
            ? document.referrer
            : document.location.href;

扫码关注云+社区