0

iframeを閉じたい...iframeをfalseに表示したり、close btnをクリックすると表示されないようにするなどのコードを使用しました...しかし、iframeが閉じられていないため、プロジェクト内の他のコードに影響しますそして私はただ隠しているだけです...そしてまたそのコードはMozillaとChromeで動作し、iframeを隠すというこの概念をうまく機能させます。しかし、IEではこれはまったく機能しません...それで私は...のような他のいくつかの方法を試しました... 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の外側のどこでもit(iframe)が正しく閉じるので、知りたいです。Escキーを押すか、iframeの外側をクリックすると、他のコードに影響を与えることなくiframeが完全に閉じます。

よろしくお願いします!!

4

1 に答える 1

3

iframe を「閉じる」のではなく、非表示にするか削除します。非表示にすることはできないため、削除する必要があります。これはクロムと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 に答える