iframe中子页面如何接收父页面所接受的参数?

比如说父页面为a.aspx
其中有一个iframe的src为b.aspx
然后我a.aspx?id=1接受参数
这个参数要如何传递到子页面b.aspx中并接受?

虽说,现在的程序很多都是Copy的,但即使是Copy很多时候还是要自己去动手.
有时候问问题前先百度一下可能问题就解决了.
------=华丽的分割线=------
你的问题,其实只是想把父窗口的Url参数拆解了然后传到子窗口去使用.
那么只要处理URL参数就行了.
--------------------------
脚本如下.(百度来的,原文地址:http://mr-a.javaeye.com/blog/542974)
--------------------------
<script type="text/javascript">
<!--
var url = "http://www.baidu.com/?age=25&k=1&site=asp&abc=123;"

//javascript获取指定参数及其对应的值
function getParameter(paraStr, url)
{
var result = "";
//获取URL中全部参数列表数据
var str = "&" + url.split("?")[1];
var paraName = paraStr + "=";
//判断要获取的参数是否存在
if(str.indexOf("&"+paraName)!=-1)
{
//如果要获取的参数到结尾是否还包含“&”
if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)
{
//得到要获取的参数到结尾的字符串
var TmpStr=str.substring(str.indexOf(paraName),str.length);
//截取从参数开始到最近的“&”出现位置间的字符
result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));
}
else
{
result=str.substring(str.indexOf(paraName),str.length);
}
}
else
{
result="无此参数";
}
return (result.replace("&",""));
}

//调用方法:var 变量名 = getParameter("要获取的参数名", URL地址)
var r = getParameter("age",url);

//测试输出,结果是:site=popasp
alert(r);
//根据得到的结果可以使用
var pName = r.split("=")[0]; //获取参数名
var pValue = r.split("=")[1]; //获取参数值

//测试输出:
alert("参数名:" + pName + "\n\n" + "参数值:" + pValue);

//其他实际应用:
//可以根据需要,配合以下方法实现自己要实现的功能;
//var hostname = location.hostname; //获取当前域名(不包含http://)
//var localurl = location.href; //获取当前完整的URL地址信息(包含http://,域名,路径,具体文件和全部传递参数)
//var referurl = document.referrer; //获取上一页完整的URL信息(包含http://,域名,路径,具体文件和全部传递参数)

//-->
</script>
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-02-20
<iframe src='b.aspx?param=<%=Request.QueryString["id"]%>'></iframe>
<%=Request.QueryString["id"]%>就是a.aspx?id=1中的1,然后在b页面获取param参数的值就可以了。
第2个回答  2010-02-20
你可以直接将这个参数传到b.aspx;用js去取a.aspx的iframe,然后修改它的src
第3个回答  推荐于2016-07-26
//javascript获取指定参数及其对应的值
function getParameter(paraStr, url)
{
var result = "";
//获取URL中全部参数列表数据
var str = "&" + url.split("?")[1];
var paraName = paraStr + "=";
//判断要获取的参数是否存在
if(str.indexOf("&"+paraName)!=-1)
{
//如果要获取的参数到结尾是否还包含“&”
if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)
{
//得到要获取的参数到结尾的字符串
var TmpStr=str.substring(str.indexOf(paraName),str.length);
//截取从参数开始到最近的“&”出现位置间的字符
result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));
}
else
{
result=str.substring(str.indexOf(paraName),str.length);
}
}
else
{
result="无此参数";
}
return (result.replace("&",""));
}

//调用方法:var 变量名 = getParameter("要获取的参数名", URL地址)
var r = getParameter("age",url);

//测试输出,结果是:site=popasp
alert(r);
//根据得到的结果可以使用
var pName = r.split("=")[0]; //获取参数名
var pValue = r.split("=")[1]; //获取参数值

//测试输出:
alert("参数名:" + pName + "\n\n" + "参数值:" + pValue);

//其他实际应用:
//可以根据需要,配合以下方法实现自己要实现的功能;
//var hostname = location.hostname; //获取当前域名(不包含http://)
//var localurl = location.href; //获取当前完整的URL地址信息(包含http://,域名,路径,具体文件和全部传递参数)
//var referurl = document.referrer; //获取上一页完整的URL信息(包含http://,域名,路径,具体文件和全部传递参数)

//-->
</script>
第4个回答  2010-02-20
在a.aspx中放这样的一段代码:
<script type="text/javascript">
function GetRequestParaValue(strName) {
var strHref = document.location.search;
var intPos = strHref.indexOf("?");
var strRight = strHref.substr(intPos + 1);
var arrTmp = strRight.split("&");
for (var i = 0; i < arrTmp.length; i++) {
var arrTemp = arrTmp[i].split("=");
if (arrTemp[0].toUpperCase() == strName.toUpperCase())
return arrTemp[1];
}
return "";
}
</script>

然后在b.aspx中用下边的脚本获取:
<script type="text/javascript">
//这里的id可以是任意的参数
var isPara = window.parent.GetRequestParaValue("id");
//现在isPara就是你想要的了,用alert输出看看
alert(isPara);
//如果你想要在服务器端使用,可以定义一个隐藏域,将得到的值放进去就ok了
</script>

关于iframe框架子页面如何获得父页面数据的问题
获取父级页面,你只需获取到父级的window就可以做获取数据操作,window.parent即为iframe获取父级页面window的方法。想要获取iframe被替换的a.jsp的数据,如果数据比较大,你就保存在父级window里面;数据较小比如是一个字符串之类的,那就在你a.jsp操作location.href改变为b.jsp时将数据带上url后面作为...

iframe父子通信,看这篇就够了
1. **同源页面通信**:当两个页面(如parent.html和child.html)同在一个域名下,可以通过iframe的id或name属性获取到子页面window对象,进行直接调用。例如,父页面可以通过`window.frames['childFrame'].childConsole()`调用子页面的方法,而子页面则通过`window.parent.parentConsole()`发送信息给父...

在jsp页面中,frame之间以及子页面和父页面间参数是如何传递的?
<input type="text" id="text1.outter" value="outter text"\/> <input type="button" value="访问子页面" onclick="getChildEl()" \/> <br\/> <iframe id="inner" name="inner" src="child.html"><\/iframe> <\/body> <\/html> ...

iframe 子页面JS如何调用父页面全局变量
1、在父页面访问Iframe子窗体的txtAddress控件 window.frames["ifrMapCompanyDetails"].document.all("txtAddress").value = '地址' ;2、在Iframe子窗体1访问父页面的TextBox1控件 , 子窗体1把值赋给子窗体2的某个控件 string strValue = "从子窗体传递给父页面的值" ;下面是在Page_Load事件里面...

怎么用js在子页面中获取到父页面的元素的id
你的子页面是一个iframe吗?如果是这样,你可以往iframe的url传入一个参数如btnid:http:\/\/your-iframe-url.com\/page\/?btnid,子页面通过location.search获取到查询字符串“?btnid”,你自己去掉问号,就可以获取到父页面的btnid了。我还是写个简单的例子吧:父页面的js:(".btn").click(function(...

JS中怎么在子页面中调用父页面的方法?
1、首先建立一个父级页面parent.html,代码如图,一个pop函数方法,一个链接到child.html的iframe标签。2、再新建一个child.html页面,如图,展示一个id=link的div标签,和link的点击事件,因为是调用父级方法,所以需要用到window.parent.pop()方法。3、预览页面,可明显看到parent.html里面的iframe框架...

【请教】关于.NET中<iframe>标签下的子页面怎样调用父页面的方法??
把你的方法写成public类型就可以了。例如父页命名空间是Web1 你的方法名为AlertPrompt 则用Web1.AlertPrompt可以调用到你父页的方法啊。。

子页面怎样调用父页面里面的js
如果是iframe嵌套的父页面,就用window.parent.父页面函数()如果是window.open打开的子页面,调用父页面的函数就用window.openr.函数

js对iframe内外(父子)页面进行操作
同样在同域情况下,子iframe可以获取并操作父页面的内容。通过在iframe的window上挂载的API,如location.href的变化,实现数据的交互。对于跨域通信,由于安全限制,需要借助代理iframe来传递数据,利用location.hash的特性或者同域iframe作为中介进行信息传递。具体操作代码示例如下:在iframe子页面操作父页面元素...

iframe 为什么可以使用父页面的js方法
1、iframe子页面调用父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了。比如调用a()函数,就写成:子页面取父页面中的标签中的值,比如该标签的id为“test”,则:但是我在chrome浏览器下却发现此方法无效了!查了半天才了解,在chrome 5+中,window.parent无法在file:\/\/协议中运行...

相似回答