jquery/javascript中重复/多次下载onkeyup事件
如果我的输入框包含URL(例如jquery/javascript中重复/多次下载onkeyup事件,javascript,jquery,image,Javascript,Jquery,Image,如果我的输入框包含URL(例如http://kotaku.com/some-article)通过paste()&keyup()my CURL将获得该特定网站的标题、说明和图像,然后将其插入我的#内容中 POST-AJAX $("input").on({ 'paste': function() { var content; if (...) { $.post("curlfetch.php?url="+ url, { }, function(response){
http://kotaku.com/some-article
)通过paste()
&keyup()
my CURL将获得该特定网站的标题、说明和图像,然后将其插入我的#内容中
POST-AJAX
$("input").on({
'paste': function() {
var content;
if (...) {
$.post("curlfetch.php?url="+ url, {
}, function(response){
content = response;
$('#content').html(response);
},
'keyup': function() {
if (...) {
$('#content').html(content);
}
});
返回的数据
<div id="image"><img src ... /> </div>
<div id="title"> some title... </div>
<div id="desc"> some text... </div>
它很好用
我只是在每次keyup()
事件中重复下载图像。我如何防止这样做,或者如何正确地进行故障排除
注:
var含量
用于存储CURL返回的数据,只需在keyup()事件中访问它即可。因此,我不必再要求另一个$post
来curl
如果我的解释有点模糊,我很抱歉。使用$('content').html(content)代码>您不断地将图像重新插入DOM。根据您的浏览器和服务器设置,这可能会缓存,也可能不会缓存
最坏的情况是缓存不存在,因此每次调用keyup时都会重新下载图像,因为$('#content').html(content)
清空#content
元素,然后将图像重新写入其中
如果存在缓存,您仍然会收到对映像的重复调用,但是在network inspector工具中看不到下载数据的聚合
理想情况下,应用程序不应该在每次按键时更新文档片段图像。您应该找到一种方法,只针对您绝对需要更新的元素,并检查您的浏览器和服务器设置,以确保可以正确缓存图像。因为它处于更改中,所以无论您键入什么内容,它都会尝试获取内容。抱歉,但我不太明白您的意思。它重复获取图像,文本(title/desc)不受此影响。所以我不明白为什么它只发生在我的照片上
<!-- <div id="image"><img src ... /> </div> -->
<div id="title"> some title... </div>
<div id="desc"> some text... </div>