这就是我所拥有的。
网址= 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
谢谢
答案 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代码..
<iframe src="domain.com/<?php echo do_shortcode('[urlparam param="em" /]') ?></iframe>
&#13;
这使用URL Params Wordpress插件来读取url并将选择的参数放入iframe中,该iframe被硬编码到页面模板中,而不是添加到wordpress后端的内容/编辑区域中。
我看到它的唯一缺点是,你想在iframe中使用的每个域都有一个新的页面模板。我只需要引用一个域,所以这对我来说是一个解决方案。