Замена iframes и кадров тегом div с помощью вызовов ajax

#javascript #html #ajax #iframe #frames

Вопрос:

У нас есть приложение на основе распорок с представлением jsp. Одна из веб-страниц после загрузки содержит iframes и вложенные фреймы. Мы хотим избавиться от них и подумали вместо этого использовать div и Ajax. На странице около 7 кадров, и мы использовали 7 ajax-вызовов для загрузки данных в каждом из них. Вместо атрибута src в теге фреймов мы использовали атрибут «данные» в div, добавили в них URL-адрес и использовали этот URL в вызове ajax.

например:

 <div id="test" data-url="Required URL"></div>
<script>
var elm = document.getElementById("test");
$.ajax({
  url: elm.dataset.url,
  dataType: html,
  success: function(data){
    $("#test").html(data);
  }
});
</script>
 

Это было бы похоже на загрузку первого div, и внутри этого содержимого будет другой div, и он будет загружен следующим и так далее.

В настоящее время мы сталкиваемся с несколькими проблемами, такими как:

  • Иногда теги скрипта в HTML-данных, загружаемых вызовом Ajax, работают неправильно.
  • Если в HTML-данных, загружаемых вызовом Ajax, возникает какая-либо ошибка javascript, сценарий внутри успешной части вызова Ajax не работает.
  • То же самое работает и при использовании кадров. Кнопка браузера назад и вперед не работает с Ajax.

Как вы думаете, есть ли эффективный способ заменить iframe/фреймы или решить эти упомянутые проблемы? Пожалуйста, помогите. Спасибо.