Когда вы говорите «скрипт не работает», вы имеете в виду, что на странице, загружаемой через ajax, есть javascript?
Это не сработает, по крайней мере, напрямую.
У вас есть два варианта.Извлеките сценарий из содержимого, которое вы загрузили, и используйте eval
для его запуска.
Лучший способ - использовать $.getScript
для загрузки (и выполнения) JavaScript.Если вы хотите связать свой javascript с загруженным вами HTML-кодом, вам необходимо соблюдать некоторые правила для идентификации сценария.Например, вы можете включить тег в динамически загружаемый html:
<span style="display:none;" id="script">/scripts/somescript.js</span>
Затем найдите диапазон с id = "script" при загрузке контента, если вы его найдете,используйте $.getScript
для загрузки идентифицируемого им скрипта.
пример ...
$.load('content.html #toLoad', function(data){
var $script = $(data).find('span[id=script]');
if ($script.length) {
$.getScript($script.html());
// remove the span tag -- no need to render it
$script.remove();
}
$('#content').html(data);
});