2017-04-16 69 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