Bem, esta é outra solução que alguns de vocês podem estar procurando (como eu estava ..)
Meu problema era semelhante, a caixa modal estava fechando enquanto o iframe que eu tinha dentro estava carregando, então tive que desativar a dispensa modal até que o iframe terminasse de carregar e reative-o.
As soluções apresentadas aqui não estavam funcionando 100%.
Minha solução foi esta:
showLocationModal = function(loc){
var is_loading = true;
if(is_loading === true) {
is_loading = false;
var $modal = $('#locationModal');
$modal.modal({show:true});
// prevent Modal to close before the iframe is loaded
$modal.on("hide", function (e) {
if(is_loading !== true) {
e.preventDefault();
return false
}
});
// populate Modal
$modal.find('.modal-body iframe').hide().attr('src', location.link).load(function(){
is_loading = true;
});
}};
Portanto, impeço temporariamente que o Modal se feche com:
$modal.on("hide", function (e) {
if(is_loading !== true) {
e.preventDefault();
return false
}
});
Mas com o var is_loading que permitirá o fechamento após o carregamento do Iframe.