簡體   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