gpt4 book ai didi

jquery - AJAX 加载内容后加载脚本?

转载 作者:行者123 更新时间:2023-12-01 01:58:26 24 4
gpt4 key购买 nike

我使用 jQueryYQL 获取网站的内容并在页面上显示特定元素,在本例中为 table 元素。我还使用 jQuery QuickSearch 设置了搜索功能插入。

这很好用,现在问题来了......

看起来搜索脚本是在 AJAX 内容 getter 获取内容之前加载的。我认为脚本会缓存数据,以便更容易搜索。由于它是在内容存在之后加载的,因此它不会搜索任何内容并且不起作用。有什么方法可以在 AJAX 内容加载之后加载搜索脚本吗?

我已经尝试通过 jQ 中的 ready 函数调用它:

$(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>

最佳答案

不确定我是否真的明白了这个问题,但是要在使用 Ajax 加载内容后加载脚本,您可以执行以下操作:

$.ajax({
url: url,
data: data,
success: function() {
//success loading content
},
error: function() {
//error loading content
},
complete: function() {
$.getScript("/scripts/mysearchscript.js", function() {
alert('loaded script and content');
});
}
});

关于jquery - AJAX 加载内容后加载脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8812970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com