所以在我的网站上有一个Javascript函数,它将通过XMLHttpRequest从服务器加载一个新的站点。之后,它用新的替换当前页面:Javascript document.open异步?
var post = new XMLHttpRequest();
post.open('POST', data);
post.onload = function() {
var do = document.open("text/html", "replace");
do.write(post.responseText);
do.close();
goOn();
}
function goOn() {
console.log($('img:visible'));
}
一些可以假设do.close()后,该文件已经改变,并准备。但它不是,例如如果我加载非常多/大数据/ responseText函数goOn()只记录一个空的结果。很明显,goOn()会在DOM准备好被读取之前调用! 不幸的是,write()完成后没有“准备就绪”事件被触发.... 我如何确定它已完成?
/编辑: 打手()记录这个Chrome浏览器控制台:
[prevObject: p.fn.p.init[1], context: #document, selector: "img:visible"]
context: #document
length: 0
prevObject: p.fn.p.init[1]
selector: "img:visible"
__proto__: Object[0]
但是,如果我这种类型的$( 'IMG:可见')后直接进入控制台手动它显示我的所有图片... 。
N.B .:'do'是JavaScript中的保留字。 –
是的,我实际上缩短了代码的变量名称以保持清晰度 –