0

我想关闭一个 iframe ......当我点击关闭 btn 时,我使用了像使 iframe 可见为 false 或显示为无的代码......但这会影响我项目中的其他代码,因为 iframe 没有关闭我只是在隐藏......而且该代码在 Mozilla 和 Chrome 中也适用于隐藏 iframe 的概念。但是在 IE 中这根本不起作用......所以我尝试了一些其他方法,比如......在 ifame 页面中,在关闭 btn 点击时调用了这个函数:

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

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

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

所以...这在 Mozilla 和 Chrome 中运行良好,但在 IE 中...我第一次关闭 iframe 时它会关闭,但下次我尝试打开 iframe 时会出错,并且 iframe 不能只打开...但是这个显示none 或 visible false 正在影响项目中的其他代码,所以我尝试 removechild 代码再次关闭 iframe IE 问题...所以请您帮助我使用正确的代码来关闭 iframe...当我尝试在单击 Esc 或时查找代码时iframe 之外的任何地方(iframe)都可以正常关闭,所以我想知道.. 当我们按 Esc 或单击 iframe 外部时会发生什么,iframe 会完美关闭而不会影响其他代码。

提前谢谢你!!

4

1 回答 1

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。

于 2012-11-03T13:01:10.937 回答