当模态隐藏时,防止模态中的IFrame重新加载

时间:2017-09-14 13:08:20

标签: javascript iframe modal-dialog

我有一个带有IFrame的模态窗口,如下所示:

<div class="modal inmodal" id="modal1" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog modal-lg">
            <div class="modal-content animated flipInY">
                <div class="modal-header">
                    <button type="button" class="close" onclick="closeModal()"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                    <h4 class="modal-title" id="modaltitle">Terms of service</h4>
                </div>
                <div class="modal-body">

                    <div class="embed-responsive embed-responsive-16by9">
                        <iframe class="embed-responsive-item" id="modaliframe"></iframe>
                    </div>


                </div>
                <div class="modal-footer">
                    <button id="modalmainbutton"type="button" class="btn btn-primary pull-left" onclick="$('#modaliframe').contents().find('.clm-act-button').trigger( 'click' );">Somethind here</button>
                    <button type="button" class="btn btn-white" onclick="closeModal2()">Close</button>
                </div>
            </div>
        </div>
    </div>

这里的问题是,当我用下面的代码隐藏模态时,IFrame重新加载

$('#modal1').modal('hide');

我设法使用以下代码阻止它:

var iframe = document.getElementById("modaliframe");

    iframe.contentWindow.location.href = 'about:blank';
    setTimeout(function(){
    $('#modal1').modal('hide');
    }, 800);

我不得不使用超时,因为只设置href和调用hide不起作用,因为iframe需要几秒钟才能刷新为空白。

有没有更好的方法可以在没有超时的情况下执行此操作?

0 个答案:

没有答案