#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/фреймы или решить эти упомянутые проблемы? Пожалуйста, помогите. Спасибо.