Не понимаю сам - может кто догонит.

malls
На сайте с 08.08.2005
Offline
255
508

есть страница:

<input type=button onClick=func()>

<iframe name=myframe onLoad=func()></iframe>

функция по сути меняет содержимое некоторых блоков в документе фрейма, т.е.:

function func() {

myframe.document.getElementById(...).innerHTML = ...;
}

Не могу понять логики Фокса (в остальных все нормально), он в случае если onLoad нету, работает просто замечательно во всех направлениях.

Если появляется onLoad - то он при первой загрузке все делает правильно, а при второй (рефреш), собака начинает ругаться, что: myframe.document is undefined

Получается что он как бы резервирует место (в памяти или хз где) под окно с именем myframe, и при перезагрузке - обнуляет его, но не удаляет указатель и не подгружает в этот же указатель новое, а при обращении скриптом - отдает указатель на то самое пустое пространство. Но в таком случает где он гад хранит новое окно myframe?

ЗЫ: вопрос эмпирический просто интересно стало, как с этим бороться и так понятно.

malls добавил 14.03.2009 в 17:55

Впорос приобретает дополнительную окраску:

При использовании при обращении к фрейму конструкции:

var myframe = d.getElementsByTagName("iframe").item(0).contentDocument;

myframe.getElementById('enfant_1').innerHTML = txt;

начинает работать во всех случаях (ну правда "падает" в осле и опере)

чего же там такое у фокса навернуто с этими фреймами????

ЗЫ: to T.R.O.N. - "гусары - молчать!!!" :bl: в том плане что не надо про фокса "в общем"...

xant
На сайте с 17.12.2008
Offline
65
#1

А зачем вообще юзать онлоад, тем более так? Делайте обычный скрипт в самом документе. Или вы какие-то параметры пытаетесь передать?

Эксклюзивные сайты и веб-2.0 приложения под ключ. Дорого.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий