只要没有对服务器的新查询,Google
Chrome就会显示“加载指示器”。显示加载指示符时,所有新请求都导致Chrome延长显示指示符的时间。此外,在
esc显示指示器时按时,所有请求都将中止!这些包括AJAX请求,甚至Flash请求!:我以为是YouTube造成的,但这变成了Chrome的惯常行为。
避免“延长”显示Loading指示符时间的唯一方法 是在隐藏loading指示符之后
发出请求:即,对服务器的所有查询完成时。JQuery的文档上
.load()说:
当加载事件和所有子元素都已完全加载时,会将加载事件发送到该元素。该事件可以发送到与URL关联的任何元素:图像,脚本,框架,iframe和window对象。
- 因此,如果您确定页面上只有图像,脚本和框架,
window.load()
则会在需要时将其触发。添加setTimeout()
到它可以根据需要工作。这是一个示例:http - //jsfiddle.net/7fDYE/22/
如果在请求 之前 还有其他请求,则应等待它们完成!例如,您知道除了图像/脚本等之外,在页面加载之前还有3个AJAX请求。你可以有这样的事情:
var loaded=0,needsToBeLoaded=4; //3 AJAX + windowfunction onLoad(){ loaded++; if(loaded==needsToBeLoaded){ //do the AJAX request }}window.load(onLoad);// add onLoad() to all 3 AJAX request handlers我不确定您可以如何处理Flash请求…



