Показать сообщение отдельно
  #7 (permalink)  
Старый 16.04.2012, 20:41
Аватар для razerxxx
Аспирант
Отправить личное сообщение для razerxxx Посмотреть профиль Найти все сообщения от razerxxx
 
Регистрация: 05.10.2011
Сообщений: 84

собственно ответ на свой же вопрос:
Например в загруженной страничке есть тег script, - если сделать так: console.log($('body').html()); - то мы получим html докумена в котором будут и теги sript.
Если же мы сделаем так:
var new_html = $("<div><script>alert('it script')</script></div>");
console.log(new_html.html());

то не увидим в выводе тегов script. Вобщем во втором случае jquery выразает тэги script. То же самое произойдет если мы получили какой-либо html средствами ajax.
Моей задачей было получить новую страницу с помощью аякс загрузить ее в текущую страницу и выполнить все скрипты которые находятся на загруженной странице.
$.get('some_url.html', {key: value}, function(new_html) {

    var wrapper = document.createElement('div');
    wrapper.innerHTML = new_html;
    new_html = wrapper;
    $('body').html($(new_html).html());

})

Вот такой хак позволяет сделать так чтобы jquery не вырезал теги script.

P.S. Решение моей задачи верное, но предполагаемая причина оказалась ошибочной, см. далее

Последний раз редактировалось razerxxx, 17.04.2012 в 14:39. Причина: ошибся
Ответить с цитированием