Стоит задача — менять баннеры по AJAX-переходу (таргетируем баннеры по разным разделам на сайте).
C сервера дергаем вот такую ручку, передавая ей кодовое имя баннера (верхний/боковой) и URL.
function reloadBanner(which, url)
{
var div = document.createElement('div');
div.style.position = 'absolute';
div.style.top = '-10000px';
div = document.body.appendChild(div);
div.innerHTML = banners[which].template;
var iframe = div.firstChild;
iframe.ondblclick = function() {return which};
function frmLoad (evt) {
var which = this.ondblclick()
var olddiv = $(banners[which].selector)[0];
olddiv.replaceChild(this, olddiv.firstChild)
}
iframe.addEventListener('load', frmLoad, false)
iframe.src = url;
}
Функция frmLoad вызывается
дважды.
Помогите, что делать, кто виноват?
Сразу скажу: пробовал делать
return false и
iframe.addEventListener('load', frmLoad, true). eventPhase в обоих случаях одинаковый.
По поводу кроссбраузерности будем думать потом