|
15.06.2009, 23:15
|
|
Передача параметров из одного фрейма в другой
не могу понять... простой пример.. есть окно с двумя фреймами, пытаюсь из первого загрузить во второй другую html страничку и поменять в ней картинку.. по отдельности коды работают, а вместе - никак.. кто подскажет в чем загвоздка??
function load_1()
{
parent.main.document.location="reply.html";
parent.main.document.images[0].src="banner1.gif";
}
страничка грузится, но изображение не меняется. если же страничка была предварительно подгружена (при первонаальной загрузке окна), то изображение меняется.
Спасибо
|
|
16.06.2009, 01:46
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
вы пытаетесь поменять изображение, которого еще не существует
поместите вторую строку в обработчик события onload соответсвущего фрейма
|
|
16.06.2009, 10:54
|
|
> поместите вторую строку в обработчик события onload соответсвущего фрейма
если просто добавить эту строку на событие onload, то каждый раз при загрузке фрейма будет меняться первая картинка html страницы на одну и ту же.. можно ли как то обратиться к обработчику события фрейма из одной из дочерних страничек?
|
|
16.06.2009, 13:17
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
вообще-то я это и подразумевал
выставить обработчик на загружаемый фрейм из JS-кода другого, загруженного фрейма
http://javascript.ru/tutorial/events...voystvo-obekta
советую прочитать не только указанную часть статьи, а всю статью
|
|
16.06.2009, 14:59
|
|
понял, вот что получилось
function load_1()
{
parent.main.document.location="reply.html";
parent.document.getElementById('main').onLoad=func tion() {
parent.main.document.images[0].src="banner1.gif";
}
все равно не работает
|
|
16.06.2009, 15:02
|
|
function load_1()
{
parent.main.document.location="reply.html";
parent.document.getElementById('main').onLoad=func tion() {
parent.main.document.images[0].src="banner1.gif";
}
}
|
|
16.06.2009, 15:05
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
igor12345, если ты зарегистрируешься, то сможешь редактировать свои ранее добавленные сообщения.
|
|
16.06.2009, 15:33
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
внутри обработчика, вы ведете работу с областью видимости другого фрейма
|
|
16.06.2009, 16:12
|
|
я понимаю, что не правильно обращаюсь в родительский фрейм, но не пойму где ошибка. Вот коды страницы верхнего уровня
<frameset rows="*" cols="534,*" framespacing="0" frameborder="no" border="0" >
<frame src="menu.html" name="left" scrolling="No" noresize="noresize" id="left" title="leftFrame" />
<frame src="continue.html" name="main" id="main" title="mainFrame" />
</frameset>
Обращаюсь из фрейма "left" к обработчику загрузки фрейма "main":
parent.document.getElementById('main').onLoad={... }
|
|
16.06.2009, 16:18
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
кстати, JS-регистрозависимый язык, и писать надо onload
а внутри него, можно обащатся к фрейму, непосредственно через window, так как window будет соответсвовать внутри обработчика только что прогруженному фрейму, как раз
|
|
|
|