javascript - 如何在跨域的iframe中获取父域名?

标签 javascript jquery iframe

我想在 iframe javascript 中获取父域或 url 或主机名。

我为此使用了 document.referrer,但它只在第一次使用。我的意思是我的 iframe 包含表单,因此当用户提交表单时,iframe 再次加载并且引荐来源网址将成为我的 iframe 的域。

现在每次我的 iframe 加载时,我只需要父域名,因为我正在使用它创建链接。

例子:

$(".setUrl").each(function(){
                var referrer = document.referrer;
                this.href=referrer+"/abc.html";
  });

但由于我上面提到的原因,这只适用于第一次。那么有人可以帮助我克服这个问题吗?

如果需要更清楚的信息,请问我。

最佳答案

当您在 iFrame 中拥有父域 URL(来自 document.referrer)时,您可以将该 URL 存储在 localStorage 中,然后在提交表单后,从 localStorage 本身。

类似于:

var referringURL = document.referrer;
//store the url in localStorage 
localStorage['referrer'] = referringURL; 

提交表单后:

var originalReferrer = localStorage['referrer'];
//you have the original referrer back

关于javascript - 如何在跨域的iframe中获取父域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14701620/

相关文章:

jquery - jquery 和 ajax 是如何结合在一起的?

javascript - 单击输入类型=搜索时重置按钮有任何事件吗?

jquery - 为什么使用类选择器的内部样式表会被外部样式表覆盖?

javascript - 更改图表类型给出 : Uncaught TypeError: Cannot read property 'length' of undefined Highcharts

javascript - AngularJs 没有链接通过

javascript - 在下一个 TR 上将类别添加到同一 TD

javascript - 如何阻止来自 iframe 的弹出窗口?

javascript - 如何使用 Ramda 计算数组中的重复项?

javascript - jQuery 点击从未被调用

javascript - 将子窗口的事件报告给父窗口以重置用户超时代码的计时器值