Насколько я мог судить, IE9 запускает $ .load () только тогда, когда весь документ (включая все изображения и другие материалы) был загружен.Ужасно, но верно!Мой обходной путь для этого:
var docReady = {
actions:new Array(),
flag:0,
time:0,
period:10,
trigger:function() {this.flag=1},
checkHandle:0,
check:function() {
this.time+=this.period;
if(this.flag) {
clearInterval(this.checkHandle);
for(i in this.actions) {this.actions[i]();}
}
},
watch:function() {
this.checkHandle = setInterval(function() {docReady.check();},this.period);
},
action:function(f) {
this.actions.push(f);
}
};
docReady.watch();
Действительно грязный, но он работает;теперь, когда вы считаете нужным, вы можете вызвать docReady.trigger (), и вы должны сделать это по крайней мере в конце страницы.Кроме того, вы можете назвать это как нагрузка на тело.Гарантируется, что функции, которые вы добавили с помощью docReady.action (), будут запускаться только один раз: при первом срабатывании триггера ().