http://yjw0909.blog.163.com/blog/static/196130620112186371191/
原因是因为iframe是一个单独的网页,所以在这个网页中生成的对象不可能到iframe外面显示。
所以只能考虑讲window加载到最外层的页面中。
实现代码如下:
var win = window.top.document.createElement("<div id=\"open_window"+ winid+"\" style=\"padding:0px;\"></div>");
window.top.document.body.appendChild(win);
window.top.$(win).window({
title: title,
width: width,
modal: modal,
shadow: false,
closed: true,
height: height,
draggable:false,
zIndex:999+nextWinId,
inline:true,
content:$.createFrame(url),
onClose:function(){
window.setTimeout(function(){$(win).window('destroy',false)}, 0);
}
})
window.top.$(win).window('open');
另一个方法在主页面建对象
var win = window.top.$("<div id=\"open_window"+ winid+"\" style=\"padding:0px;\"></div>").appendTo(window.top.document.body);
win.window({
title: title,
width: width,
modal: modal,
shadow: false,
closed: true,
height: height,
zIndex:999+nextWinId,
inline:false,
content:$.createFrame(url),
onClose:function(){
window.setTimeout(function(){debugger;win.window('destroy',false)}, 0);
}
})
//$('#open_window') zIndex 得改id
//$('#open_window').appendTo('body').window('open');
win.window('open');
另外贴一个从网上找到的获取顶级父页面对象的方法
jquery 获取顶级父页面对象出错,解决方法
代码: < table > < tr > < td >< s:include file="leftmenu.jsp" > </td> < td valign="top"> < div > </div> </tr> </table> 。。。。。。。。 以上为我的html模版,如果在 web body中使用 $("#ControlBar", top.document.body)会报错,但是 window.top.$("#ControlBar", top.document.body) 即可
本文介绍了如何让在iframe内生成的窗口对象显示在iframe之外的主要方法。通过创建并操作顶层窗口对象,使得原本局限于iframe内的内容能够跨越边界,在外部页面中呈现。文中提供了两种具体实现方式及其代码示例。
727

被折叠的 条评论
为什么被折叠?



