高分求教:iframe标签引入的页面如何获得父页面的参数值,在线等
由于要限制内容页面大小使其能在父页面内出现滚动条,所以使用了iframe标签把内容页面引入到父页面(内容页面原本是用户空间,现写在了一个新建的ASPX页面里)。
问题:内容页面需要根据父页面由链接地址传过来参数显示不同的内容,但是使用iframe标签后发现内容页面无法获得父页面传过来的参数,冥思苦想而不得解,特此求教。C#
举例:http://localhost/default.aspx?cid=shuoming
iframe页面镶嵌在default.aspx页面里,如何获得cid
------解决方案-------------------- <iframe src= "aa.aspx> cid= <%=Request.QueryString[ "shuoming "]%> ">
------解决方案--------------------比如内容页面放一个hidden(runat=server)
在内容页面加载时 <body onload=aa();>
function aa()
{
var search = window.parent.location.search;
//通过正则或indexOf什么的获取cid值赋到hidden.value
}
在内容页面使用hidden.Value获取父页面参数
------解决方案--------------------up
------解决方案--------------------如果要在客户端获取
var shuoming = GetQueryString(winodw.parent.location.href.toString(), "cid ");
alert(shuoming);
function GetQueryString(url, key)
{
var reg = new RegExp( ".*? " + key + "=([^&]*)?&.*?$ " + "|.*? " + key + "=([^&]*)?$ ");
if(reg.exec(url) == null)
return " ";
return url.replace(reg, "$1$2 ");
}
------解决方案--------------------直接去父页面的隐藏域里面取
window.parentwindow.document.all.隐藏域id.value
window.parent.document.all.隐藏域id.value
------解决方案--------------------js中
function GetQueryString(URL, name)
{
var reg = new RegExp( "(^|&) "+ name + "=([^&]*)(&|$) ");
var r = URL.search.substr(1).match(reg);
if(r!=null)
return unescape(r[2]);
return null;
}