на некоторых серверах работает только следующий код:
jQuery.get(url, function (response) {
var wrap = $('<div>').html(response);
var scripts = [];
wrap.find('script').each(function () {
scripts.push(jQuery(this).text());
jQuery(this).remove();
});
modal.find('.modal-body').html(wrap.html());
jQuery.each(scripts, function (_, script) {
modal.find('.modal-body').append(jQuery('<script>').html(script));
});
});
, но следующий код не работает:
jQuery.get(url, function (response) {
var wrap = $('<div>').html(response);
modal.find('.modal-body').html(wrap.html());
});
Я провел много исследований, но не могу понятьпочему это так. Так почему же это так?
Обновление (19.10.23. 18:56):
Я выяснил, что если код ожидает открытия модала, тозапускаются сценарии из ответа:
modal.on('shown.bs.modal', function () {
jQuery.get(url, function (response) {
var wrap = $('<div>').html(response);
modal.find('.modal-body').html(wrap.html());
});
});
modal.open();
Это потому, что отклик сервера localhost был медленнее и оставалось время для модального открытия.
Но я до сих пор не понимаю, почему, но, похоже,как сценарии, не запущенные, если модальный еще не открыт.