Close Bootstrap modal from inside iframe

Constantin.FF picture Constantin.FF · Mar 6, 2013 · Viewed 36.4k times · Source

Page which opens Twitter Bootstrap Modal with iframe inside:

<div id="iframeModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
        <button type="button" class="btn btn-danger pull-right" data-dismiss="modal" aria-hidden="true">Close</button>
        <div class="clearfix"></div>
    </div>
    <div class="modal-body">
        <iframe src="iframe-modal.html"></iframe> 
    </div>
    <div class="modal-footer">
    </div>
</div>

And I am looking for a way to close this modal from inside the iframe. Ex. clicking a link inside the iframe-modal.html to close the modal. What I have tried, but non successful:

$('#iframeModal', window.parent.document).modal('hide');
$('#iframeModal', top.document).modal('hide');
$('#iframeModal').modal('hide');

Answer

Dzulqarnain Nasir picture Dzulqarnain Nasir · Mar 6, 2013

You can always create a globally accessible function which closes the Bootstrap modal window.

eg.

window.closeModal = function(){
    $('#iframeModal').modal('hide');
};

Then from the iframe, call it using:

window.parent.closeModal();