как насчет такого варианта? Или объясни нормально, как эти события работают в разных браузерах
var onLoadHandler = onLoad.executeOnce();
$(iframe).ready(onLoadHandler);
$(iframe).load(onLoadHandler);
Function.prototype.executeOnce = function(){
var f = this;
return function(){
if( arguments.callee._executed )
return;
var r = f.apply(this, arguments);
arguments.callee._executed = true;
return r;
}
};
p.s. когда ты называешь решение, без которого бывает не обойтись (насколько я знаю) говном, а сам предлагаешь хитрющий метод, который кроме всего прочего использует browser detection... ты ждешь, что его назовут как-то по-другому?
Сообщение от puchu
|
тратить лишнее процессорное время на такое глупо
если можно сделать нормальную надежную реализацию без этого
|
если можно сделать
нормальную надежную реализацию, то лучше обойтись без setTimeout. Но лучше уж setTimeout, чем browser detection. И ты мерял, сколько там этого времени тратится (тем более, что это отправка формы, а не какой-нибудь ajax suggest)?