如何使用iframe中的函数从父页面中删除iframe?

时间:2010-06-13 17:12:57

标签: javascript jquery html iframe

我有一个使用bookmarklet放在页面上的iframe,当我导航到这个iframe中的某个页面时,我想让这个iframe关闭。

如何使用JavaScript?

注意:iframe和容器页面位于不同的域中。

4 个答案:

答案 0 :(得分:4)

据我所知,你不能从iframe的容器中删除DOM中的元素,除非由于跨域安全策略我正确理解你,它是同一个域。

如果这是可能的,你可以渗透到银行网站,所有这些都是一团糟。

答案 1 :(得分:3)

除了@meder回答和他的评论How to remove iframe from parent page using a function inside the iframe?

我找到了这个答案Close iframe cross domain   这对我解决问题帮助太大了。

更新:我发现此解决方案无法在IE上运行,但我找不到解决方案:(

答案 2 :(得分:2)

由于所谓的“同源政策”(http://en.wikipedia.org/wiki/Same_origin_policy

,这是不可能的

如果它在同一个域内,您可以尝试

jQuery('iframe-selector').remove(); // remove iframe
jQuery('iframe-selector').contents().empty(); // remove the iframe content
jQuery('iframe-selector').removeAttr('src'); // remove the source-attribute from the iframe
jQuery('iframe-selector').attr('src', 'javascript:return false;'); // remove the iframe source

答案 3 :(得分:0)

您无法使用Iframe进行跨域脚本编写。