Chà, đây là một giải pháp khác mà một số bạn có thể đang tìm kiếm (như tôi đã ..)
Vấn đề của tôi cũng tương tự, hộp modal đã đóng trong khi iframe tôi có bên trong đang tải, vì vậy tôi phải vô hiệu hóa loại bỏ modal cho đến khi Iframe kết thúc tải, sau đó kích hoạt lại.
Các giải pháp được trình bày ở đây không hoạt động 100%.
Giải pháp của tôi là thế này:
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;
});
}};
Vì vậy, tôi tạm thời ngăn Modal đóng lại với:
$modal.on("hide", function (e) {
if(is_loading !== true) {
e.preventDefault();
return false
}
});
Nhưng đó là var is_loading sẽ cho phép đóng lại sau khi Iframe được tải.