Мне кажется, я знаю, чего вы хотите достичь, потому что столкнулся с той же проблемой. И я нашел решение. Поэтому я бы сказал, что нет, это не неправильное использование ajax, потому что вы можете столкнуться с этим при некоторых обстоятельствах.
Поместите гаджет направлений не непосредственно в содержимое страницы, которое загружается через ajax, а в отдельный файл, такой как "directionsgadget.html" (вставьте в этот файл тег сценария для гаджета).
Затем используйте iframe с src = "/ path / to / directionsgadget.html" в содержимом, загруженном ajax.
Гаджет должен быть загружен таким образом.
Если вы хотите, чтобы гаджет центрировался внутри iframe, вы можете обернуть тег сценария в directionsgadget.html в div с установленной шириной и style = "margin: 0px auto". Это будет центр гаджета.
Вот пример:
Ваша главная страница - index.html и содержит div, который будет содержать загруженный ajax контент:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: 'ajaxcontent.html',
success: function(returndata){ $('#ajaxcontent').html(returndata); }
});
});
</script>
</head>
<body>
<div id="ajaxcontent"></div>
</body>
</html>
Затем у вас есть файл с контентом, который должен быть загружен через ajax, и среди прочего это гаджет Google. Мы не собирались помещать гаджет прямо здесь, но собирались поместить его в отдельный файл и указать на него с помощью iframe. Давайте назовем этот первый файл ajaxcontent.html, как указано в вызове ajax в разделе head первого файла:
<span>Here is some content that will be loaded onto the main page via ajax.</span><br />
<span>Among other things, there is a google directions gadget that will be loaded.</span>
<div id="getdirections" style="margin:0px auto;">
<iframe style="width:365px;height:216px;" src="directions.html"></iframe>
</div>
Теперь мы поместим скрипт для гаджета Google в отдельный файл тег script внутри div просто так:
<div style="width:336px;height:116px;margin:0px auto;">
<script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/114281111391296844949/driving-directions.xml&up_fromLocation=&up_myLocations=_a_bunch_of_information_with_personal_list_of_locations_&synd=open&w=320&h=55&title=Street+directions+by+Google+Maps&brand=light&lang=it&country=ALL&border=http%3A%2F%2Fwww.gmodules.com%2Fig%2Fimages%2F&output=js"></script>
</div>
Надеюсь, этот пример был достаточно понятен!