Я пытаюсь реализовать простейшее решение для загрузки страниц в фоновом режиме. Я просто хочу заменить некоторые элементы в моем html на элементы из заглушки ajax. Я, конечно, столкнулся со стандартными проблемами:
- Зависимости JavaScript
- Зависимости стиля
- Настройка заголовка
Моя заглушка AJAX довольно проста - на самом деле это вся страница, помещенная в теги без имени head или body (jQuery / browser не любит парсинг этих узлов). Например:
<html-stub>
<head-stub>
<title>Page Title</title>
<script type="text/javascript" src="somescript"></script>
<link rel="stylesheet" type="text/css" href="somestylesheet">
</head-stub>
<article>Some Content to replace in the origin document</article>
</html-stub>
Безопасно / практично / совершенно глупо делать что-то вроде:
var stub = $(ajaxHTML);
var head = $(document).find('head');
// empty the current head -- later on we'll just empty things like title
head.empty();
// add all the crap
stub.find('stub-head').children().appendTo(head);
Или это просто очень плохая идея? Я протестировал в современных браузерах, и, кажется, все работает нормально, есть ли подводные камни в старых браузерах?