js 如何得到父页面的内容

静_心 2010-10-25 10:47:20
在A页面里弹出B页面,不用是WINDOW.OPEN打开的,请问在B页面里还能访问到A页面里的方法吗?那么应该如何访问呢?
急。。
感谢!
...全文
802 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
http://blog.csdn.net/cpp2017/archive/2007/02/27/1515474.aspx
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
http://blog.csdn.net/cpp2017/archive/2007/02/27/1515428.aspx
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
关键是要弄清楚各个窗口的关系.

静_心 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 cpp2017 的回复:]
关键是是这个控件C是不是iframe?弹出页面B的脚本是在控件C里面做的还是A页面中做的?

如果控件C是iframe,弹出B是在A页面做的,在B中访问C(iframe)中的脚本的话应该用
window.parent.frames["名称"].方法
[/Quote]
1.这个控件C不是iframe
2.弹出页面B的脚本是在控件C里面

静_心 2010-10-25
  • 打赏
  • 举报
回复
document.write(window.parent.document.getElementById('ctl00_ContentPlaceHolder1_cs_Course_hf_Course'));
我直接用这种方式去访问A页面的控件,都访问不到。显示NULL
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
关键是是这个控件C是不是iframe?弹出页面B的脚本是在控件C里面做的还是A页面中做的?

如果控件C是iframe,弹出B是在A页面做的,在B中访问C(iframe)中的脚本的话应该用
window.parent.frames["名称"].方法
高三石 2010-10-25
  • 打赏
  • 举报
回复

window.open(...)
子页面中获取父页面对象:window.opener
window.showModalDialog(..)
子页面中获取父页面对象:window.dialogargument

静_心 2010-10-25
  • 打赏
  • 举报
回复
不能说B是IFRAME窗口。
我的结构是这样的:
A页面里有一个控件C,控件里有JS方法,当点击A页面里的控件时,弹出页面B。
现在就是在B页面里调用这个JS方法,一直调用不到。
这属于是什么结构呢?
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
要明确一下, B就是那个iframe中的窗口吧? A页面中确定有个alert的方法吧?如果有肯定没有问题的.
静_心 2010-10-25
  • 打赏
  • 举报
回复
详细的提示是:对象不支持此属性或方法
静_心 2010-10-25
  • 打赏
  • 举报
回复
提示JS错误。后来我试着alert那个方法,发现提示undefined.
wuyq11 2010-10-25
  • 打赏
  • 举报
回复
iframe
window.parent.frames[''].document...
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
都不行,试着访问parent,显示它是object,有值的,但是就是访问不到方法。
==>
是没有提示的,但是js方法是可以访问到的.
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
你这个是用的iframe来显示的,用
window.parent.方法就可
damjmk2 2010-10-25
  • 打赏
  • 举报
回复
objDialog 这就是在父页面中的DIV 直接调用就好了啊
静_心 2010-10-25
  • 打赏
  • 举报
回复
function DialogShow(showdata,ow,oh,w)
{
var objDialog = $("DialogMove");
if (!objDialog)
objDialog = document.createElement("div");
t_DiglogW = ow;
t_DiglogH = oh;DialogLoc();
objDialog.id = "DialogMove";
objDialog.className = "popup";
var oS = objDialog.style;
oS.display = "block";
oS.top = t_DiglogY + "px";
oS.left = t_DiglogX + "px";
oS.width = w + "px";
/*oS.height = h + "px";*/
oS.position = "absolute";
oS.zIndex = "5";
objDialog.innerHTML = showdata;
document.body.appendChild(objDialog);
}
静_心 2010-10-25
  • 打赏
  • 举报
回复
function ScreenConvert()
{
var objScreen = $("ScreenOver");
if(!objScreen)
var objScreen = document.createElement("div");
var oS = objScreen.style;
objScreen.id = "ScreenOver";
oS.display = "block";
oS.top = oS.left = oS.margin = oS.padding = "0px";
if (document.body.clientHeight)
{
var wh = document.body.clientHeight + "px";
}
else if (window.innerHeight)
{
var wh = window.innerHeight + "px";
}
else
{
var wh = "100%";
}
oS.width = "100%";
oS.height = wh;
oS.position = "absolute";
oS.zIndex = "3";
oS.background = "#000";
oS.filter = "alpha(opacity=60)";
oS.opacity = 60/100;
oS.MozOpacity = 60/100;
document.body.appendChild(objScreen);
// var allselect = gname("select");
// for (var i=0; i<allselect.length; i++)
// allselect[i].style.visibility = "hidden";
}
静_心 2010-10-25
  • 打赏
  • 举报
回复
前面是写的不是用。。哎。。CSDN不能编辑!
我是拼HTML,然后输出出来的。
var strHtml = "<div class=\"popupHeader\">";
strHtml += "<div class=\"left\">选择</div>"
strHtml += "<div class=\"right\"><a href=\"javascript:SelectCourseHide();\">关闭</a></div>";
strHtml += "</div>";
strHtml += "<div class=\"popupContent\">";
strHtml += "<iframe style=\"margin:0px;\" src=\"" + strUrl + "\" width=\"98%\" height=\"480px\" frameborder=\"0\"></iframe>";
strHtml += "</div>";
ScreenConvert();
DialogShow(strHtml,820,250,820);
cpp2017 2010-10-25
  • 打赏
  • 举报
回复
是WINDOW.OPEN ,原来前面还有个不用,这什么语法?

那是用什么打开的呢?
静_心 2010-10-25
  • 打赏
  • 举报
回复
不是用window.open打开的。
加载更多回复(11)

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧