正确关闭来自javascript的iframe并且不隐藏iframe

时间:2012-11-03 12:49:17

标签: javascript iframe

我想要关闭一个iframe ...我已经使用了代码,例如将iframe显示为false或者当我点击close btn时显示为none ...但是这会影响我的项目中的其他代码作为iframe没有关闭,我只是隐藏...而且该代码在Mozilla和Chrome中工作很好这个隐藏iframe的概念。但是在IE中这根本不起作用...所以我尝试了很少的其他方法,比如...在关闭btn上点击这个函数的ifame页面中点击:

    function closeiframecommt() {
        parent.closeiframefriends();
    }

并在包含iframe的页面中我将代码编写为:

function closeiframefriends() 
{
    var friends = document.getElementById("IFriends");
    friends.style.display = "none";
}

所以......这在Mozilla和Chrome中运行良好,但在IE中...我第一次关闭iframe它关闭但下次我尝试打开iframe时它会出错并且iframe不会只打开...但这个显示无或可见false是影响项目中的其他代码所以我尝试删除子代码再次关闭iframe IE问题...所以你可以帮我用正确的代码关闭iframe ...因为我试图找到代码,因为我们点击Esc或iframe以外的任何地方它(iframe)正确关闭所以我想知道..当我们按Esc或点击iframe以外iframe完全关闭而不影响其他代码时会发生什么。

提前感谢你!!

1 个答案:

答案 0 :(得分:3)

你没有'关闭'iframe - 你隐藏它或删除它。因为隐藏它不是你的选择 - 你应该删除它。这适用于chrome和IE。

<!DOCTYPE html>
<head>
    <title>test</title>
    <style type="text/css">
    .top {
        height:100px;
        width:200px;
        background-color:green;
    }
    </style>
    <script type="text/javascript">
    function removeIFrame() {
        var frame = document.getElementById("target");
        frame.parentNode.removeChild(frame);
    }
    </script>
</head>
<body>
    <div class="top" onclick="removeIFrame();"></div>
    <iframe id="target" src="http://www.disney.com" width="100" height="100"></iframe>
    <div class="top"></div>
</body>

顶部绿色div的onclick处理从DOM中删除iframe。