2017-04-16 97 views
0

這就是我所擁有的。將一個特定的url查詢參數從主url傳遞到iframe url

URL = abc.com/?em=xyz & FN = 123

我有我想分享一些帕拉姆數據如下頁面上的iframe ...

IFRAME = def.com/xyz

正如你所看到的,我只是想從主源url中的一個url params傳到iframe,成爲url的一部分,而不是在iframe字符串上添加的參數。它總是會被傳遞的單個參數'em',所有其他參數將被忽略。

我認爲這很明顯,但只是爲了顯示正確的iframe = def.com/xyz的示例,錯誤的是iframe與url = def.com/?em=xyz。我知道後者似乎可能在Javascript中。我只是無法解決前者問題。謝謝

希望有人有任何幫助。

該網站目前在WordPress上,如果這有所作爲。 iframe網址是一個外部鏈接,而不是WordPress的

感謝

+0

我認爲這很明顯,但只是爲了顯示right = def.com/xyz的示例,錯誤的是iframe與url = def.com/?em=xyz。我知道後者似乎可能在Javascript中。我只是無法解決前者問題。謝謝 – Chris

+0

你想要的是清楚的,你想如何實現它不是。這是要在PHP編碼?你有什麼嘗試? –

+0

很高興在PHP或任何作品中做到這一點!我在javascript選項中遇到了一個問題,因爲它將它作爲參數傳遞給它,而不是URL的一部分。 – Chris

回答

0

對,我有一個是爲我工作的一個解決方案,因此認爲我也有同感。需要注意的是,如果您使用的是Wordpress,這可能僅適用...

第1步。我創建了一個名爲page-iframe php的新頁面模板。它引用了一個名爲content-iframe的內容文件php

在這個文件中,我創建了iframe代碼..

<iframe src="domain.com/<?php echo do_shortcode('[urlparam param="em" /]') ?></iframe>

它使用網址參數的WordPress插件讀取URL和選擇的帕拉姆放入其中是硬編碼到頁面模板,而不是添加的iframe WordPress後端的內容/編輯區域。

這是唯一的缺點,因爲我看到它將意味着您要在iframe中使用每個域的新頁面模板。我只需要一個域被引用,所以這對我來說是一個解決方案。

0

純粹的javascript:

首先搶在父URL的參數的函數:

function getQueryVariable(variable) 
{ 
     var query = window.location.search.substring(1); 
     var vars = query.split("&"); 
     for (var i=0;i<vars.length;i++) { 
       var pair = vars[i].split("="); 
       if(pair[0] == variable){return pair[1];} 
     } 
     return(false); 
} 

接下來,調用函數獲取'em'參數值並將其存儲爲變量。同時檢查它是否已定義並且沒有錯誤。

var myParam = getQueryVariable("em"); 
if ((typeof myParam !== "undefined") && (myParam !== false)) { 

接下來,創建您的iframe網址:

var iframeURL = "def.com/".concat(myParam); 

接下來,在你的HTML iframe網址分配給這個新iframeURL:

document.getElementById('iFrameName').src = iframeURL; 
    } 

可選;沒有em參數發送url。你可能已經在你的html中完成了。

else{ 
    document.getElementById('iFrameName').src = "http://def.com/"; 
} 

一起:

function getQueryVariable(variable) 
{ 
     var query = window.location.search.substring(1); 
     var vars = query.split("&"); 
     for (var i=0;i<vars.length;i++) { 
       var pair = vars[i].split("="); 
       if(pair[0] == variable){return pair[1];} 
     } 
     return(false); 
} 

var myParam = getQueryVariable("em"); 
if ((typeof myParam !== "undefined") && (myParam !== false)) { 
    var iframeURL = "def.com/".concat(myParam); 
    document.getElementById('iFrameName').src = iframeURL; 
    } 
else{ 
    document.getElementById('iFrameName').src = "http://def.com/"; 
    } 
+0

這是令人鼓舞的。謝謝 。我還沒有工作,但我認爲我們正在取得進展。我將在以後繼續播放並報告。 – Chris