我有一个带有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">×</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需要几秒钟才能刷新为空白。
有没有更好的方法可以在没有超时的情况下执行此操作?