iframe如何读取其父位置网址,父窗口的域名和iframe不同?
我知道这个问题的“常见”答案是,由于域名冲突,浏览器不允许跨域访问。 因此,以下将无效:
parent.location.href
但也许有人可以在这里想到开箱即用并提出与Cross-document messaging hack类似的内容?
答案 0 :(得分:1)
也许您可以查看document.referrer
?当然,这仅在用户尚未点击iframe内的链接时才有效。
答案 1 :(得分:0)
我明白了!
我的解决方案如下:
<强> 1。将 onload 属性与框架
一起使用<iframe src="http://website.com/" onload="src+='#'+document.location"></iframe>
<强> 2。监控框架中的哈希变更
var referrer = '?';
window.onhashchange = function() {
var ref = document.location.hash;
if(ref && ref.length > 1) {
var t = ref.split('#');
ref = t[1];
}
referrer = ref;
};
和“voilà”: - )
顺便说一句,您会找到有关onhashchange事件的更多详细信息。