繁体   English   中英

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

[英]How to get parent domain name in iframe with cross domain?

我想在iframe javascript中获取父域或url或hostname。

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

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

例:

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

但这只是第一次有效,因为我上面提到的原因。 有人可以帮助我克服这个问题吗?

如果需要更清晰,请询问我。

您在iFrame(来自document.referrer)中拥有父域URL的那一刻,您可以将该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

你可以为此做一件事:

  1. 将您的父域/ url / hostname保存在表单中的某个隐藏变量中。并提交该表单。
  2. 不要从当前URL设置/保存/使用documentReferrer值。 需要时,使用隐藏变量。

你可以使用任何逻辑......例如:

var refval=$("#documentReferrer").val();
if(refval=="")
{
     $("#documentReferrer").val(referrer); //So, for the future, this will not execute...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM