В этом нам поможет
JavaScript. По нажатию на нужную ссылку, будет
вызываться функция загрузки документов в указанные фреймы. Адреса документов
будут передаваться функции в качестве аргументов. Рассмотрим поподробнее.
Создадим сначала файл
TwoByOne.html, описывающий структуру фреймов:
<HTML>
<HEAD>
<TITLE>Изменение содержимого в двух
фреймах по нажатию на одну ссылку</TITLE>
</HEAD>
<FRAMESET cols="30%,70%" frameborder="yes" framespacing="1">
<FRAME name="LeftFrame" src="LeftMenu.html">
<FRAMESET rows="50%,50%">
<FRAME name="TopFrame" src="about:blank">
<FRAME name="BotFrame" src="about:blank">
</FRAMESET>
</FRAMESET>
</HTML>
У двух правых фреймов в качестве источника при загрузке указаны пустые
бланки: src="about:blank". Эти фреймы в нашем примере имеют имена
"TopFrame" и "BotFrame". Эти имена будут использоваться для
определения окна в которм следует открыть ннужный документ.
В левом фрейме будут располагаться ссылки, нажатием на которые мы будем
загружать в наши два фрейма нужные документы. Назовем файл, который будет
загружен в левый фрейм "LeftMenu.html". Рассмотрим его код. Вначале
опишем нашу функцию загрузки документов:
<script language=JavaScript>
function TwoByOne(frame1, frame2)
{
parent.TopFrame.location.href=frame1;
parent.BotFrame.location.href=frame2;
}
</script>
В нашем примере функция будет называться TwoByOne(). frame1 и
frame2 - параметры, через которые функции передаются адреса загружаемых
документов. Объект parent является синонимом для окна или фрейма,
содержащего текущий фрейм. "TopFrame" и "BotFrame" - это как я уже
говорил имена наших фреймов, в которые следует загрузить документы. В JaveScript
ссылка из одного фрейма на другой фрейм, находящийся на том же уровне иерархии
осуществляется используя обращение parent.famename, где famename -
имя фрейма, или parent.frames[index], где frames[index] - массив
содержащий запись для каждого фрейма-потомка. Но пока предлагаю не загружать
голову последним вариантом, а будем обращаться через имя фрейма famename.
Загрузка самого документа осуществляется через объект location, указав в
его свойстве href адрес загружаемого документа, который будет содержатьcя
в переменных frame1 и frame1.
Сами ссылки, в которых вызывается наша функция будут выглядеть следующим
образом:
<P>
<a href="javascript:TwoByOne('MainText.html','Konfuciy.html')">
Проза</a>
<P>
<a href="javascript:TwoByOne('../Annenskij.html','../Guseva.html')">
Стихи</a>
Щелкните поочередно на каждую из ссылок в левом меню, и вы увидете
как меняется содержимое обоих правых фреймов.