Я использую jQuery
и YQL
для получения содержимого веб-сайта и отображения определенного элемента на странице, в данном случае, элемента table
. У меня также есть функция поиска, настроенная с использованием плагина jQuery QuickSearch.Загрузить сценарии после загрузки содержимого AJAX?
Это прекрасно работает, и теперь к проблеме ...
Похоже, что скрипт поиска загружается до AJAX
геттеров содержания получает содержание. Я думаю, что сценарий затем кэширует данные, так что их легче искать. Так как он загружается после того, как контент существует, он ничего не ищет и не работает. Есть ли способ загрузить скрипт поиска ПОСЛЕ Загружено содержимое AJAX
?
Я уже пытался называть его помощью ready
функции в JQ:
$(document).ready(function() {
но который все еще нагрузки до загрузки контента. Мой AJAX
скрипт ниже:
<script type="text/javascript">
$(document).ready(function() {
var container = $('#content');
function doAjax(url) {
if (url.match('^http')) {
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(url)+
"%22&format=xml'&callback=?",
function (data) {
if (data.results[0]) {
var fullResponse = $(filterData(data.results[0])),
justTable = fullResponse.find("table");
container.append(justTable);
} else {
var errormsg = '<p>Error: could not load the page.</p>';
container.html(errormsg);
}
});
} else {
$('#content').load(url);
}
}
function filterData(data) {
data = data.replace(/<?\/body[^>]*>/g, '');
data = data.replace(/[\r|\n]+/g, '');
data = data.replace(/<--[\S\s]*?-->/g, '');
data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g, '');
data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g, '');
data = data.replace(/<script.*\/>/, '');
data = data.replace(/<img[^>]*>/g, '');
return data;
}
doAjax('url_goes_here');
});
</script>
Я пытаюсь интерпретировать, что это значит , Я должен сначала вызвать '.ready()', затем AJAX, а затем поиск будет загружаться после загрузки AJAX? – Charlie
Это означает, что если вы вызываете функцию .ready() в скрипте внутри тела, тогда он запускается мгновенно и должен запускаться из головы. –
Оба сценария в голове. – Charlie