我在登录页面上放置了一个iframed表格。当用户从联盟链接进入此目标网页时,会在网址中放置一个参数(http:thelandingpage.com?c3 = 1)。当他们提交iframe表单时,我需要将该变量(c3 = 1)发送到下一页。我怎么能做到这一点?
以下是我正在探索的选项:
从父页面提取参数
注意:此代码放在iframe 中
(JavaScript)的
<script language="JavaScript">
function processUser()
{
var parameters = window.parent.location.search.substring(1).split("&");
var temp = parameters[0].split("=");
c3 = unescape(temp[1]);
//Assign "c3=" to a var
var c3variable = c3;
//Append c3 Variable
document.getElementById("c3").innerHTML = c3variable;
}
processUser();
</script>
(HTML)
<strong>If variable displays, that's a success!</strong>
<br>
c3: <span id="c3"></span><br>
当然,它不能正常工作。它显示iFrame&#34; src&#34;中的第一个参数,而不是父页面的第一个参数。
我无法继续前进,直到我抓住&#34; c3 = 1&#34;参数..但我的下一步是将该变量粘贴在隐藏字段或其他内容中,以便将其作为查询字符串发送到下一页。
请帮忙!
答案 0 :(得分:0)
解决方案1:将参数直接传递给iframe
元素。
家长代码:
window.onload=function(){
iframe=document.createElement("iframe");
iframe.src="iframe.php?"+window.location.href.split"?")[1];
document.body.appendChild(iframe);
}
解决方案2:查找url
查询的父级:
<强> I帧:强>
window.postMessage("url?","parentsurl");
window.addEventListener("message",function(e){
if(e.data.url){
Parentsurl=e.data.url;
}
});
<强>父:强>
window.addEventListener("message", function(e) {
if(e.data="url?"){
window.postMessage({url:window.location.href});
}
});