求助:js,如何关闭IFRAME的父窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:js,如何关闭IFRAME的父窗口相关的知识,希望对你有一定的参考价值。

写了一个JS文件,是向前台打印出一个IFRAME。通过点击IFRAME中的某一后台按钮(后台点击事件中有关闭父窗口的JS代码),来关闭当前父窗口。在已发布的网站上引用此JS文件,不能关闭父窗口,但在本地测试,在本地页面上引用JS又能关闭,使用的关闭代码:
1种:parent.window.opener = null;window.parent.close();
2种:top.window.opener=null;top.window.open('','_self');top.window.close();
3种:parent.window.opener = null;parent.window.open('','_self');parent.window.close();
但是这些方法都不能关闭!!急急,求方法,谢谢

如果子窗体存在window.opener,可以尝试下面方法
父窗体里写一个函数:
window.closeThisWindow = function()
window.close(); // 或者 this.close();
;
然后在打开的子窗体或iframe里事件里写:
window.opener.closeThisWindow();
试试 ,可能可以!
参考技术A 作用域的问题
在两个不同的域名下的iframe是关闭不了的

求助如何在javascript中通过iframe url定位iframe

一个网页中有很多iframe ,知道iframe 的url地址,如何定位该frame?

一般都是用iframe id来定位(document.getElementById('iframe的ID')),但是我只能获取到iframe url。

谢谢。

参考技术A 推荐用jquery,用class和id都可以获取元素,如果两样都没有,可以用jquery的each来循环,既然你能知道url,那就在循环中判断是url,就能得到 你想要的元素(iframe)了 参考技术B function getIframeByURL(url)

    var frames = document.frames;

    for(var i = 0; i < frames.length; i++)

        if(frames[i].location==url)

            return frames[i];

        

    

    return null;

本回答被提问者采纳
参考技术C

小菜一碟,亲,请验收哦

追问

非常感谢,有没有不用jquery的方法?用jquery不很方便。

追答

OK ,如亲所愿!

追问

不好意思。刚刚没看到你的回答,正好第一个人的答案是对的,所以就把分给他了。你去链接地址回答下,补分给你。

http://zhidao.baidu.com/question/556257802?quesup2&oldq=1

以上是关于求助:js,如何关闭IFRAME的父窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何获取iframe的父窗口的body标签啊

js/jquery如何获取获取父窗口的父窗口的元素

在iframe中如何调用父窗体的方法?

jquery,iframe,如何在父窗口监听,子窗口发生改变时,父窗口获取子窗口的值

子iframe 怎么访问 父的 iframe方法

如何在iframe外部的父窗口上显示Jquery UI对话框