Javascript 如何检查AJAX获取的HTML何时被完全解析?

Javascript 如何检查AJAX获取的HTML何时被完全解析?,javascript,jquery,html,ajax,animation,Javascript,Jquery,Html,Ajax,Animation,我有一个使用AJAX和jQuery获取额外HTML的站点。我使用解析此HTML,并使用函数将解析后的HTML添加到我的站点中。我还使用它来显示新内容 现在,当解析的HTML很大时,会出现一些显示问题。当我重新加载同一个站点时,一切正常,可能是因为浏览器缓存了HTML。因此,我认为问题可能在于浏览器没有完全解析和预呈现HTML。当提取的HTML已完全解析并准备好呈现时,如何进行检查?注意:我附加新的HTML的方式,它是不直接可见的用户。只有动画才能将新内容滑入 该功能似乎不起作用。谢谢你的回复 使

我有一个使用AJAX和jQuery获取额外HTML的站点。我使用解析此HTML,并使用函数将解析后的HTML添加到我的站点中。我还使用它来显示新内容

现在,当解析的HTML很大时,会出现一些显示问题。当我重新加载同一个站点时,一切正常,可能是因为浏览器缓存了HTML。因此,我认为问题可能在于浏览器没有完全解析和预呈现HTML。当提取的HTML已完全解析并准备好呈现时,如何进行检查?注意:我附加新的HTML的方式,它是不直接可见的用户。只有动画才能将新内容滑入


该功能似乎不起作用。谢谢你的回复

使用ajax,您可以附加.success或.done,请参见


donefunctiondata{}将包含所有数据,您可以使用它执行任何操作。加载完成后会立即调用它

为什么不使用信号量?每次ajax调用都会增加它,每次成功或错误回调都会减少它,当它为0时,所有调用都会完成,然后显示动画。ready不起作用,它不知道有ajax调用。您在多个浏览器中尝试过这个吗?另外,是否正在显示新节点:无或您附加到的包装被隐藏?@Mohsen:我在firefox和chromium上试过。在这两种浏览器中,我都有相同的问题。新内容位于用户的不可见div中,该div将在显示中滑动:未为此div设置none ParseHTML is synchronous调用。在解析Html之前,它不会返回。问题一定在其他地方。我最好的猜测是您将呼叫放在requestAnimationFrame中。谢谢您的回答,但它不是,我正在寻找的。。。我已经收到了新的数据,我的问题是检查提取的HTML何时被浏览器完全解析和预呈现。。。类似于jQuery的ready函数的东西对我不起作用。你可以使用onReadyStateChange吗?但当您获取数据时,而不是呈现数据时,它将改变状态。
$.ajax({
url: "http://fiddle.jshell.net/favicon.png",
beforeSend: function( xhr ) {
xhr.overrideMimeType( "text/plain; charset=x-user-defined" );
}
})
.done(function( data ) {
if ( console && console.log ) {
console.log( "Sample of data:", data.slice( 0, 100 ) );
}
});