将主网址中的特定网址查询参数传递到iframe网址

时间:2017-04-16 09:01:26

标签: html wordpress function url

这就是我所拥有的。

网址= abc.com/?em=xyz&fn=123

我在页面上有一个iframe,我想分享一些param数据,如下所示......

iframe = def.com/xyz

正如您所看到的,我只想要一个来自主源url的url参数传递到iframe,成为url的一部分,而不是iframe字符串上添加的参数。它将始终是单个参数'em'将被传递,所有其他参数将被忽略。

我认为这很清楚,但只是为了展示一个正确的iframe = def.com/xyz的例子,错误的是一个带有url = def.com/?em,xyz的iframe。我知道后者似乎可以在Javascript中使用。我只是无法解决前者。感谢

希望有人有任何帮助。

该网站目前在Wordpress上,如果这有所作为。 iframe网址是外部链接,而非wordpress

谢谢

2 个答案:

答案 0 :(得分: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/";
    }

答案 1 :(得分:0)

是的,我有一个适合我的解决方案,以为我会分享。重要的是要注意,这可能仅在您使用Wordpress时才有效...

步骤1.我创建了一个名为page-iframe php的新页面模板。它引用了一个名为content-iframe php的内容文件

在此文件中,我创建了iframe代码..

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

这使用URL Params Wordpress插件来读取url并将选择的参数放入iframe中,该iframe被硬编码到页面模板中,而不是添加到wordpress后端的内容/编辑区域中。

我看到它的唯一缺点是,你想在iframe中使用的每个域都有一个新的页面模板。我只需要引用一个域,所以这对我来说是一个解决方案。