JQuery будет игнорировать содержимое некоторых элементов (например, <head>
), возможно, во имя исполнения.Я подозреваю, что <script>
является одним из них.
Решение будет состоять в том, чтобы JQuery не мог анализировать DOM, пока у вас не будет возможности переопределить это поведение.стандартное поведение при разборе converters
block
Заменить любые теги
<script>
на
<div data-tag="script">
, чтобы они не игнорировались Найдите
text()
соответствующего деления.
Попробуйте что-то вроде этого:
$.ajax(nextPage,{
success: function( data, status, xhr ){
data = data.replace(/\<script[^>]+\>/ig,"<div data-script='true'>")
data = data.replace("</script>","</div>")
var $data = $(data);
nxtImgUrl = $data.find(".one-page img").attr("src");
$("body").append("<img id='dynamic' src='"+nxtImgUrl+"'/>");
$data.find("div[data-script=true]:last-1").text().appendTo("body");
alert(nextPage);
},
converters:{
"* text": window.String,
"text html": true,
"text xml": true
},
dataType:'html'
});
Возможно, вы столкнетесь с проблемами кодирования из-за недействительных сущностей, таких как &
, и в этом случае вам может понадобиться подход на основе RegExp,что тоже возможно.Дайте мне знать, как вы поживаете.